版权声明:喜欢可以转载,但是必须注明出处。技术要分享,专利要维护。 https://blog.csdn.net/wzcyamadie/article/details/80872592
首先写一个Person类,定义成员变量和成员方法。
package day06Private;
public class Person {
// 成员变量
String name;
int age;
boolean flag;
// 成员方法
public void show() {
System.out.println("我叫" + name + ",今年" + age + "岁");
}
}
定义一个getterandsettter 类,实用Person类中的成员变量和方法
package day06Private;
public class getterandsettter {
public static void main(String[] args) {
Person p=new Person();
p.name="小王";
p.age=19;
p.show();
}
}
如果这么写不会出什么问题,但是如果在getterandsettter 类中p.age=-100;怎么办呢(超出实际情况了,但是我们又想让年龄有个限制)?
需要使用getter和settter方法来确保数据安全,修改代码如下:
Person类:
package day06Private;
public class Person {
// 成员变量
String name;
private int age;
private boolean flag;
// 成员方法
public void show() {
System.out.println("我叫" + name + ",今年" + age + "岁");
}
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age<0 || age>150) {//对年龄做个限制
System.out.println("年龄数据错误");;
}
else {
this.age = age;
}
};
}
getterandsettter类:
package day06Private;
public class getterandsettter {
public static void main(String[] args) {
Person p=new Person();
p.name="小王";
p.setAge(1000);
p.show();
}
}
输出结果;
年龄数据错误
我叫小王,今年0岁
注意:当使用布尔值时,写getter方法时候,不写getflag写成isFlag