Java 理解对象可见性(public、private、protected、默认)

  • Post author:
  • Post category:java


Java借助private、protected、public与默认修饰符提供了成员访问控制。适用于字段、方法或类。

private:如果实体使用private修饰符声明,那么实体将只能由定义实体的类中的包含的代码访问

protected:实体只能由定义在如下范围内的代码访问

1. 定义实体的类

2.相同包中和定义类一样的类

3.定义类的子类,不管子类在那个包中定义

默认(或包):

实体可以由定义在如下范围内的代码访问

1.定义实体的类

2.定义在同一包中的类,类似于定义实体的类

public:实体可以由任意类中的代码访问


访问修饰符与变量范围:

关于继承的一些规则

子类中继承的成员不能拥有比原先赋值的权限更弱的访问权限,只能拥有更强的访问权限。最弱的访问权限时private,最强的访问权限是public。访问权限:public>protected>默认>private

1、在超类中声明为public的方法必须在所有的子类中声明为public;

2、在超类中声明为受保护的方法必须要么为protected,要么为public;

3、不声明访问控制的方法(不适用修饰符)不能在子类中声明为private;

4、声明为private的成员无法被继承;



版权声明:本文为zx2015216856原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。