java属性有三种权限,public、default、private,也即公共、默认和私有。其中我们使用最多的就是private。通俗的来说private就是个人的,外部不能访问的。可是我们为什么要使用private的呢?使用之后还要setter和getter方法进行设置属性值和取得属性值,用public不是更好,在哪里都可以访问,简单不麻烦。看一个例子:
public class People {
public String name;
public int age;
}
public class Test {
public static void main(String[] args) {
People p=new People();
p.name="张三";
p.age=-1;
System.out.println("姓名:"+p.name+",年龄:"+p.age);
}
}
输出结果:
姓名:张三,年龄:-1
可是年龄有负数的吗???
一个类的属性,外部可以访问,但却不能象这样一般随意访问,因此使用private可以避免这一问题的产生。修改后的People:
public class People {
private String name;
private int age;
public void setAge(int age) {
if (age > 0)
this.age = age;
else
this.age = 0;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
}
public class Test {
public static void main(String[] args) {
People p=new People();
p.setName("张三");
p.setAge(-1);
System.out.println("姓名:"+p.getName()+",年龄:"+p.getAge());
}
}
输出结果为: 姓名:张三,年龄:0
私有属性private的必要性。