相关疑难解决方法(0)

为什么不能降低Java子类中方法的可见性?

当您在子类中重写方法时降低方法的可见性时,为什么编译器会给出错误消息?

java polymorphism overriding subclassing

42
推荐指数
2
解决办法
1万
查看次数

继承和公共/私有方法

One.java

public class One {

    private void run() {
        System.out.println("one");
    }

    public void start() {
        this.run();
    }
}
Run Code Online (Sandbox Code Playgroud)

Two.java

public class Two extends One {
    public void run() {
        System.out.println("two");
    }
}
Run Code Online (Sandbox Code Playgroud)

Main.java

public class Main {
    public static void main(String[] args) {
        Two t = new Two();
        t.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:一

但是如果我在类中声明run方法public,One我会得到"两个"作为输出.

这是非常不可预测的,这是如何工作的?

java

-2
推荐指数
1
解决办法
122
查看次数

标签 统计

java ×2

overriding ×1

polymorphism ×1

subclassing ×1