访问控制修饰符的作用是控制类中的成员可以在哪些范围内被访问到
用得最多的有2个
类中的要素, 属性, 方法, 构造器, 代码块, 成员内部类, 这些要素都隶属于类, 对于本类而言, 这些要素就是互为成员, 既然是互为成员, 那么它们之间的互相访问是没有任何障碍.
只需要把类中的成员使用private修饰就是私有化了, 而一旦成员被私有化, 这个成员也称为被封装了
注意 : 代码块不能封装
2.3 封装的问题
因为成员一旦私有化, 就不可以在其他类中直接访问了, 但是在其他类中仍然有访问的需求, 成员之间是可以互相访问的, 所以解决这个问题的方法就是在本类中添加一些公共方法, 通过方法间接访问类中的私有成员.
如果不使用封装而直接访问对象的属性, 就可以给属性赋上一些不合理的数据值, 比如
t.age = 50000; // 显然这个操作是应该失败的, 因为年龄不合理
但是如果通过方法来赋值, 就可以把这种错误拦截住
相同的道理, 如果要获取某个属性, 但是需要在内部再处理一下, 也可以通过方法来实现
// 保护数据 public void setAge(int a) { if (a > 120 || a < 0) { // 当参数中传入的数据不合理时, 方法直接返回, 不给对象的属性赋值 return; } age = a; } |
原文链接:http://www.atguigu.com/jsfx/11580.html