【问题标题】:Inheritance of non access modifiers非访问修饰符的继承
【发布时间】:2013-09-27 10:49:31
【问题描述】:

规则是什么,或者您能否提供关于字段和方法的非访问修饰符在继承时发生的情况的明确信息。 例如:

class Super {
    public final int x; 

    protected strictfp final printX() {
        System.out.println(x);
    }
}

class Sub extends Super {
}

继承的 x 和 printX 有哪些非访问修饰符?能否提供详细规则的链接?

【问题讨论】:

  • SO 不完全是为您搜索 Java 语言规范的服务......它在那里,第 8.4.8 节
  • 顺便说一句,super 是一个关键字,所以这不会编译。使用 Java 命名约定并以大写字母 (Super) 开头的类命名。
  • 谢谢。由于大多数解释都是关于更改访问修饰符及其工作方式,因此很难解释非访问修饰符在继承期间如何工作。 Joni 的回答清除了这个概念。

标签: java inheritance access-modifiers


【解决方案1】:

继承是指如何通过子类访问超类的成员;子类实际上不会得到它自己的副本。这意味着 xprintX 在子类中访问时仍然具有完全相同的修饰符,因为它们实际上仍然在超类中声明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-29
    • 2017-08-17
    • 2010-11-26
    • 2021-06-10
    • 2014-04-06
    • 2015-02-09
    • 2011-04-21
    • 2014-01-27
    相关资源
    最近更新 更多