相关疑难解决方法(0)

为什么在同一个包中看不到包保护方法?

假设我们有两个包p1p2p1.M1扩展p2.M12如下:

package p1;

public class M1 {
    void method1() {
        System.out.println("Method 1 called");
    }
}


package p2;

import p1.M1;

public class M12 extends M1 {
    void method2() {
        System.out.println("Method 2 called");
    }
}
Run Code Online (Sandbox Code Playgroud)

让我们扩展M12p2.B:

package p2;

public class B extends M12 {

    public void doSomething()  {
        method1();
        method2();
    }
} 
Run Code Online (Sandbox Code Playgroud)

这给出了一个编译错误的method1,是包保护范围内p1是不可见的p2.method2是没有问题的.

现在让我们来延长p2.M12使用p1.A:

package p1;

import p2.M12; …
Run Code Online (Sandbox Code Playgroud)

java packages

6
推荐指数
1
解决办法
993
查看次数

标签 统计

java ×1

packages ×1