代码块
class Student {
public void show() {
System.out.println("我爱学习");
}
}
class StudentDemo {
public void method(Student s) {
s.show();
}
class NoNameDemo {
public static void main(String[] args) {
//带名字的调用
Student s = new Student();
s.show();
s.show();
System.out.println("--------------");
//匿名对象
//new Student();
//匿名对象调用方法
new Student().show();
new Student().show(); //这里其实是重新创建了一个新的对象
System.out.println("--------------");
//匿名对象作为实际参数传递
StudentDemo sd = new StudentDemo();
//Student ss = new Student();
//sd.method(ss); //这里的s是一个实际参数
//匿名对象
sd.method(new Student());
//在来一个
new StudentDemo().method(new Student());
}
}
解释
这个例子说的就是先开始int age是public修饰的 然后这个age在其他的类中也可以被访问,然后给age做一个方法,限制age的范围,但是这个时候age依然是public 别的类还是可以通过s.age给age赋值,而且限制年纪的方法不起作用,这个时候,为了让限制年龄的方法起到作用,就将age私有化,就是用private修饰,这个时候,age就只能在本类中被使用,其他的类想使用,只能通过age定义的方法使用,这样限制年龄的方法就起到了作用,然后age就被封装了 这就是封装的思想
封装的好处:
隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高了安全性
封装原则:
将不需要对外提供的内容隐藏起来
把属性隐藏起来,提供公共方法对其访问
被private修饰的成员只能在本类中访问。