相关疑难解决方法(0)

为什么另一个包中的子类无法访问受保护的方法?

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

package package1;

public class Class1 {
    public void tryMePublic() {
    }

    protected void tryMeProtected() {
    }
}


package package2;

import package1.Class1;

public class Class2 extends Class1 {
    doNow() {
        Class1 c = new Class1();
        c.tryMeProtected(); // ERROR: tryMeProtected() has protected access in Class1
        tryMeProtected();  // No error
    }    
}
Run Code Online (Sandbox Code Playgroud)

我可以理解为什么在调用时没有错误,tryMeProtected()因为Class2它继承了这个方法Class1.

但是,为什么是不是有可能的对象Class2访问此方法的对象上Class1使用 c.tryMeProtected();

java protected subclass modifier package

13
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×1

modifier ×1

package ×1

protected ×1

subclass ×1