【发布时间】:2022-01-18 11:25:20
【问题描述】:
我想要一个带有最终属性locationNumber 的抽象超类Location。
但是locationNumber 应该在子类本身中初始化,如Market 或Mosque。有干净的方法吗?我知道它不会像这样工作,它只是为了显示问题。
public abstract class Location {
protected final int locationNumber;
Collection<Figure> visitors;
public int getLocationNumber() {
return locationNumber;
}
}
public class Market extends Location {
locationNumber = 5;
}
public class Mosque extends Location {
locationNumber = 10;
}
【问题讨论】:
-
是的。您可以在“构造函数”中初始化最终值。如果您至少声明了一个显式构造函数,那么子类可以(并且实际上需要)使用它。
-
哇,这很简单,没想到。谢谢!
-
你有同事在做同样的任务吗? stackoverflow.com/questions/70754039/… ...也许你们两个应该合作并一起工作。你知道,那个学生首先要弄清楚你是否能自己解决问题……
标签: java subclass final superclass