目录
Private
Private(私有的):在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
注意:
(1)被声明为 private 的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为 private。
(2)声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问。
(3)Private 访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据
Public
Public(公开的):对所有类可见。使用对象:类、接口、变量、方法
注意:
(1)被声明为 public 的类、方法、构造方法和接口能够被任何其他类访问。
(2)如果几个相互访问的 public 类分布在不同的包中,则需要导入相应 public 类所在的包。由于类的继承性,类所有的公有方法和变量都能被其子类继承
(3)Java 程序的 main() 方法必须设置成公有的,否则,Java 解释器将不能运行该类
Protected
Protected(受保护的):对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
注意:
(1)子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;
(2)子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的
(3)protected 方法,而不能访问基类实例的protected方法。
(4)protected 可以修饰数据成员,构造方法,方法成员,不能修饰类(内部类除外)。
(5)接口及接口的成员变量和成员方法不能声明为 protected
比较
访问修饰符
同类
同包
子类(同包)
子类(不同包) 任意位置
Public
可以
可以
可以
可以 可以
Protected
可以
可以
可以
可以/不可以 不可以
Default
可以
可以
可以
不可以 不可以
Private
可以
不可以
不可以
不可以 不可以