指在Java中用于限定使用范围的关键字
|
本类中 |
子类中 |
同包类中 |
其他类中 |
public |
可以 |
可以 |
可以 |
可以 |
protected |
可以 |
可以 |
可以 |
不可以 |
默认 |
可以 |
同包子类可以 |
可以 |
不可以 |
private |
可以 |
不可以 |
不可以 |
不可以 |
public:接口访问权限
使用public关键字,就意味着被声明的成员或方法对所有人都是可以访问的。
private:无法访问
使用private关键字,就意味着被声明的成员或方法,除了本类,其他任何类都无法访问。
protected:继承访问权限
新类(称之子类或派生类)通过继承可以复用一个现有类(称之父类或基类),然后扩展基类的成员、方法。
有时,基类的创建者会希望某个特定成员,将它的访问权限赋予派生类而不是所有类。
public无法做到这一点,为此,引入了protected来完成这一工作。
protected也提供包访问权限,也就是说,派生类以及相同包内的其他类都可以访问protected成员或方法。
class B extends A{ int b = 22; } class C extends B{ protected void c() { System.out.println("C类--保护"); } } class D extends C{ private void d() { System.out.println("D类--私有"); } } public class A { public void a() { System.out.println("A类--公共"); } public static void main(String[] args) { D d = new D(); d.a(); d.c(); //d.d(); 不允许调用,只允许D类里面进行调用 System.out.println(d.b); } }
运行结果:
A类--公共 C类--保护 22