Java4种访问修饰符权限的区别?
Java语言中有四种权限访问控制符,能够控制类中成员变量和方法的可见性。
- public
被public修饰的成员变量和方法可以在任何类中都能被访问到。
被public修饰的类,在一个java源文件中只能有一个类被声明为public,而且一旦有一个类为public,那这个java源文件的文件名就必须要和这个被public所修饰的类的类名相同,否则编译不能通过。
- protected
被protected修饰的成员会被位于同一package中的所有类访问到,也能被该类的所有子类继承下来。
- friendly
默认,缺省的。在成员的前面不写访问修饰符的时候,默认就是友好的。
同一package中的所有类都能访问。
被friendly所修饰的成员只能被该类所在同一个package中的子类所继承下来。
- private
私有的。只能在当前类中被访问到。
当前类 | 同一package | 子孙类 | 其他package的类 | |
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
friendly | √ | √ | × | × |
private | √ | × | × | × |
【Java面试题与答案】整理推荐