Java——类成员的访问权限修饰符(private、protected、public、default)

  • 封装将数据和操作连接起来。封装的一个重要属性:访问控制。

  • 通过封装可以控制程序的某个部分所能访问类的成员,防止对象滥用。从而保护对象中数据的完整性。

  • 在Java中类的每个成员(数据成员和成员方法)都有一个成为可访问性的属性,用来保护类成员。

Java中有四类成员的保护方式:private(私有的)、protected(保护的)、public(共有的)default(包访问权限)。

1.private 实现封装(私有的)

(最严格) 只能被这个类本身访问,其他情况如同一包内的类、子类等都无法访问。

  • 将属性,方法用private封装后表示,被封装的属性与方法只能在本类中使用,类外部不可见。 此时要想访问被封装的属性,必须提供getter 与 setter 方法. 不能用于外部类(最顶层的类),可以用于内部类的嵌套。
  • getter方法:主要进行属性内容的取得。public void setName(string n) 对name的set方法。
  • setter方法:主要进行属性内容的设置与修改。
  • 类的设计原则:编写类的时候,没有额外说明,所有属性必须使用private封装(成员变量)

2.protected(保护的):

同一包内的类以及其子类可以访问。

这里需要说明,包内的类(其他类和子类);子类(包内的和包外的),所以同一包内的类和子类其实是有交集的——包内的子类。

3.public(公共的):

(最不严格),任何类都可以访问该成员。

4.default(缺省的):

类中不加任何访问权限限定的成员属于缺省的访问状态。
可以被这个类本身以及同一个包中的类访问。
包内的类包括其子类,但是包外的类一律无法访问。

访问权限修饰符总结表:

修饰符 同一个类 同一个包 子类 所有类
public 允许访问 允许访问 允许访问 允许访问
protected 允许访问 允许访问 允许访问
default 允许访问 允许访问
private 允许访问

猜你喜欢

转载自blog.csdn.net/qq_41420688/article/details/83348546