看毕老师视频
对于pubilc和private
class Person
{
private int age;
public void setAge(int a)
{
if(a>0&&a<120)
age = a;
else
System.out.println("false");
}
void speak()
{
System.out.println("age="+age);
}
}
class PersonDemo
你如果去掉了 private 就下面的setAge就可以省略了, 直接给age赋值了, 而通过setAge赋值的安全性就体现在这里 让你知道什么时候赋值, 不容易出错。作者: 魏腾飞 时间: 2012-2-9 08:46
class Person
{
private int age;//类中成员私有,防止外部对象直接进行访问。也就是防止了数据泄露。
/*
在某些情况下需要将对象的成员变量或者成员函数进行私有,避免被子类所继承。
*/
public void setAge(int a)
{
if(a>0&&a<120) //成员函数对成员变量进行操作,使成员变量遵循了一定的规则。
age = a;
else
System.out.println("false");
}
void speak()
{
System.out.println("age="+age);
}
}
class PersonDemo
{
public static void main(String[] args)
{
Person p = new Person();
p.setAge(-20);
/*如果此处对Person的成员变量赋值后,带有private的成员变量访问只能通过Person类中的成员函数调用形成间接访问,
但是如果去掉private 此处赋值后仍能p.age访问。
*/
p.speak();//这是我们为了便于用户访问专门暴露出来的一个成员方法。
}
}