【发布时间】:2022-11-13 19:35:22
【问题描述】:
我有一个 Wicket 页面类,它根据抽象方法的结果设置页面标题。
public abstract class BasicPage extends WebPage {
public BasicPage() {
add(new Label("title", getTitle()));
}
protected abstract String getTitle();
}
NetBeans 用“构造函数中的可覆盖方法调用”消息警告我,但它应该有什么问题?我能想象的唯一选择是将其他抽象方法的结果传递给子类中的超级构造函数。但这可能很难用许多参数来阅读。
【问题讨论】:
-
我是一名 .NET 开发人员,但看到了这个并且对它为什么会警告这一点很感兴趣,因为我有时在 C# 中做类似的事情。这篇文章似乎说明了为什么它是一个警告:javapractices.com/topic/TopicAction.do?Id=215 所以这一切都与对象层次结构的初始化时间和顺序有关。
-
在 C# 中我们有同样的问题:msdn.microsoft.com/en-us/library/ms182331.aspx
-
这提醒我检查 IntelliJ 是否发出此警告...
标签: java oop inheritance constructor overriding