18.Java的访问控制符

上一篇:17.final关键字


Java的访问控制符


在Java语言中,常见的可见性(即访问控制符)有四种:public、private、protected、default(默认,即没有定义)。


一.类的成员的可见性

对于类的成员变量和成员方法,我们可以通过设定一定的访问可见性来限定应用范围。
18.Java的访问控制符

(一).private

private表示当前类访问权限。如果类里的一个成员(包括成员变量、方法、构造器等)使用private访问控制符来修饰,则这个成员只能在当前类的内部被访问。这个访问控制符用于修饰成员变量最合适,使用它来修饰成员变量就可以把成员变量隐藏在该类的内部。

(二).default

default表示包访问权限。如果一个类里的一个成员(包括成员变量、方法、构造器等)或者一个外部类不使用任何访问控制符修饰,就称它是包访问权限的,default访问控制的成员或外部类可以被相同包下的其他类访问。

(三).protected

protected表示子类访问权限。如果一个成员(包括成员变量、方法、构造器等)使用protected访问控制符进行修饰,那么这个成员既可以被同一个包中的其他类访问,也可以被不同包中的子类访问。在通常情况下,如果使用protected来修饰一个方法,通常是希望其他子类来重写这个方法。

(四).public

public 表示公共访问权限,如果个成员(包括成员变量、方法、构造器等)活着一个外部类使用public访问控制符修饰,那么这个成员或外部类就可以被所有类访问,不管访问类和被访问类是否在同一个包中,是否具有继承关系。


二.外部类的可见性

对于外部类(即普通类)而言,它也可以使用访问控制符修饰,但外部类只能有两种访问控制级别:public和默认(default)。成员内部类可以使用private。
public修饰类可以被所有类访问,包括声明变量、创建实例。
不使用任何访问控制符修饰的既是default进行修饰的,只能被同一个包中的其他类使用。
外部类不能使用private和protected修饰,因为外部类没有处于任何类的内部,也就没有其所在类的内部、所在类的子类两个范围,因此private和protected范围控制符对外部类没有意义。


下一篇:19.单例模式

上一篇:通过 TStringList 给系列数字倒排序 - 回复 lancerning 的问题


下一篇:C#编写一个在asp.net core 3.1下的简单的corn模式的计划任务和一个更简单的定时器类