小编Deb*_*ALI的帖子

Java - 为什么另一个包中的子级无法通过父级引用访问父级的受保护方法?

我在两个不同的包中有两个类:

package package1;

public class ParentClass {
    public void testPublic() {
    }

    protected void testProtected() {
    }
}


package package2;

import package1.ParentClass;

public class ChildClass extends ParentClass {
   void test() {
        ParentClass par = new ParentClass();
        par.testProtected(); // Line 1 : ERROR: testProtected() has protected access in ParentClass
        testProtected();     // Line 2 : No error

        ChildClass ch = new ChildClass();
        ch.testProtected(); // Line 3 : No ERROR
        testProtected();    // Line 4 : No error
    }    
}
Run Code Online (Sandbox Code Playgroud)

我能够理解为什么调用时没有错误testProtected() -- …

java inheritance protected access-modifiers package

4
推荐指数
1
解决办法
96
查看次数

标签 统计

access-modifiers ×1

inheritance ×1

java ×1

package ×1

protected ×1