版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18948359/article/details/83868812
Java基础知识回顾之封装性
Java基础知识回顾之继承性
Java基础知识回顾之多态性
理解封装性
封装(Encapsulation)是面向对象的三大特征之一(另外两个是继承性和多态性),它是指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息操作与访问。
封装是面向对象编程语言对客观世界的模拟,在客观世界里,对象的状态信息都被隐藏在对象内部,外界无法直接操作和修改。
封装性的好处:
- 隐藏类的实现细节
- 让使用者只能通过实现预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问。
- 可进行数据检查,从而有利于保证对象信息的完整性。
- 便于修改,提高代码的可维护性。
public class Person {
// 将属性封装起来-私有化
private String rPerson;
// 对外提供访问的方法
public String getrPerson() {
return rPerson;
}
public void setrPerson(String rPerson) {
this.rPerson = rPerson;
}
}
Java 中类成员的访问控制权限
在 JAVA 中有四种访问控制权限,分别为:private, default, protected, public。
- private。私有的成员变量或者方法。只能在本类中使用。
- default。默认的成员变量或者方法。可以在这个包中的其他类访问(包括包中的子类,以及包中所有类访问)。如果子类在不同包,则不能访问。
- protected。受保护的成员变量或者方法。成员既可以被这个包中其它类访问,也可以被不同包中的子类内部访问。
- public。公共的成员或者方法。访问不受限制。
总结
访问权限 | private | default | protected | public |
---|---|---|---|---|
本类内部可访问 | √ | √ | √ | √ |
同一包中的类(包括子类,以及以对象.成员) | √ | √ | √ | |
其它包中的子类内部 | √ | √ | ||
其它包中的类(对象.成员, 不是子类) | √ |