【问题标题】:Overridable method call in constructor构造函数中的可覆盖方法调用
【发布时间】:2013-03-01 03:21:14
【问题描述】:

我有一个 U 类,在该类的构造函数中,我调用了公共的可覆盖方法。 NetBeans 警告我:Overridable method call in constructor

但是,我没有在我的项目中覆盖该方法,因为 U 类没有子类.. 就这样放着可以吗? ....在这种情况下在构造函数中调用可覆盖的方法?

【问题讨论】:

标签: java netbeans methods constructor overriding


【解决方案1】:

这不是错误。你可以忽略它。

如果您想让编译器满意,请使任一方法或整个类final

【讨论】:

    【解决方案2】:

    这是一个警告,而不是一个错误,所以你可以就这样离开它。但是,如果您要发布此代码,有人可能会扩展您的 U 类,重写该方法并遇到很多麻烦。

    【讨论】:

      【解决方案3】:

      如前所述,您可以“忽略”警告。

      但是,您这样做需要您自担风险,因为错误可能会在以后出现。警告的原因是编译器无法证明对“this”的引用不会逃脱构造函数。这可能会导致错误,因为正在创建的对象尚未完全构造,因此该对象可能处于无效状态。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-31
        • 2014-05-22
        • 2011-03-25
        • 2014-01-18
        • 2022-11-13
        • 1970-01-01
        相关资源
        最近更新 更多