java - 继承:子类中方法的可访问性较弱

标签 java inheritance subclass superclass

在 java 中需要这样的规则是什么:

“子类不能削弱父类(super class)中定义的方法的可访问性”

最佳答案

如果你有一个带有公共(public)方法的类

public class Foo {
    public void method() {}
}

这个方法是可以访问的,因此你可以这样做

Foo foo = new Foo();
foo.method();

如果添加子类

public class Bar extends Foo {
    @Override
    public /* private */ void method() {}
}

如果是private ,你不应该做

Foo bar = new Bar();
bar.method();

在这个例子中,一个 BarFoo , 所以它必须能够替换 Foo无论在哪里。

为了满足上面的说法,一个子类不能让一个可继承的成员更难访问。但是,它可以使其更易于访问。 (这基本上只适用于方法。)

关于java - 继承:子类中方法的可访问性较弱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23049583/

相关文章:

java - 使用 apache commons 的 RandomStringUtils 生成唯一键

javascript - 原型(prototype)继承以及如何执行 super()

C++:当不是所有的派生类都预先知道时使用继承?

c++ - 子对象作为参数

Java:继承类构造函数正在调用父类(super class)

javascript - 将参数传递给 Javascript 子类

java - LWJGL 纹理未拉伸(stretch)至四边形

java - .zip 文件上传 Spring

java - 随机加权选择然后去除权重

inheritance - 接口(interface)与抽象和继承