受保护的访问范围(JAVA中的受保护访问)
大家可能都知道,JAVA中受保护的权限就是这个类,同包类和子类。但是如果子类和父类不在同一个包中会发生什么呢?我们把父类和子类放在两个包里,如下所示:我们可以发现如果子类和父类 ......
可能大家都知道,JAVA中protected权限是本类、同包类、子类。
但是如果子类不在和父类不在同一个包中,那将会发生什么?
我们将父类和子类放在两个包中,如下所示:
可以发现:
若子类与父类不在同一包中,那么在子类中,子类实例可以访问其从父类继承而来的protected属性,而不能访问父类实例的protected方法。
可以看到其他包中,不管是子类的实例还是父类的实例访问都没有权限导致报错!不管该包是否包含父类与子类
父类的protected成员是包内可见的,并且对子类可见;
若子类与父类不在同一包中,那么在子类中,子类实例可以访问其从父类继承而来的protected方法,而不能访问父类实例的protected方法。
不在父类和资类所在的包中访问,则没有相应的权限