我们在写代码时,会写到public,那么public到底是什么呢?
其实public就是一个访问控制符,访问控制符一共有四个,按权限大小分为:
public > protected > friendly > private
下面详细讲述一下访问控制符的适用范围
1、public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;
2、protected修饰的成员变量、构造方法和普通方法可以在其定义类中、与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;
同包非继承 同包继承
3、默认(友好的)修饰的成员变量、构造方法和普通方法可以在其定义类中和与定义类同包的其它类(可以是子类)中使用;如图,
同包非继承 同包继承
不同包非继承 不同包继承 只有子类可调用
不同包继承 子类无法调用 父类方法和属性,当然不继承就更不可以了
不同包非继承
4、private是最小的访问权限控制符,其修饰的成员变量、构造方法和普通方法只能在定义它们的类(本类)中被操作或使用;
下面再详述一下protected控制符
如果protected修饰的属性和方法均为非静态的,则只能通过子类实例化对象调用其继承过来的属性和方法,而不能使用父类实例化的对象去调用;如果protected修饰的属性和方法均为静态的,则子类可以通过类(子类类名或父类类名)名直接调用
非静态
静态的