Java访问修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问,Java支持4种不同的访问权限。
Default:默认的,在同一包内可见,不使用任何修饰符。
Private:私有的,在同一类内可见。
Public:共有的,对所有类可见。
Protected:受保护的,对同一包内的类和所有子类可见。
Default
默认访问修饰符,不使用任何关键字。
1、使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。
2、接口里的变量都隐式声明为public static final。
3、接口里的方法默认情况下访问权限为public。
Private
私有访问修饰符:是最严格的访问级别。
1、被声明为private的方法、变量和构造方法只能被所属类访问。
2、类和接口不能声明为private。
3、声明为私有访问类型的变量只能通过类中公共的getter方法被外部类访问。
4、Private 访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据。
Public
公有访问修饰符
1、被声明为public的类、方法、构造方法和接口能够被任何其他类访问。
2、如果几个相互访问的public类分布在不同的包中,则需要导入相应public类所在的包。
3、由于类的继承性,类所有的公有方法和变量都能被其子类继承。
4、Java 程序的main()方法必须设置成公有的,否则,Java解释器将不能运行该类。
Protected
受保护的访问修饰符
1、被声明为protected的变量、方法和构造器能被同一个包中的任何其他类访问,也能够被不同包中的子类访问。
2、Protected访问修饰符不能修饰类和接口。
3、方法和成员变量能够声明为protected,但是接口的成员变量和成员方法不能声明为protected。
4、子类能访问Protected修饰符声明的方法和变量,这样就能保护不相关的类使用这些方法和变量。
访问修饰符的继承规则
1、父类中声明为public的方法在子类中也必须为public。
2、父类中声明为protected的方法在子类中要么声明为protected,要么声明为public,不能声明为private。
3、父类中声明为private的方法,不能够被继承。