我有一个主要课程RecordFieldBase
。应用程序中有许多子类从RecordFieldBase
类扩展而来。基础RecordFieldBase
类公开公共方法updateInspector
,它看起来像这样:
public Inspector udpateInspector {
if () {
return this.getBasicInspector();
} else {
return this.getValidationInspector();
}
}
应用程序将在子updateInspector
实例上调用RecordField
以获取Inspector的实例。每个子类都可以有自定义基本和验证检查器。他们可以使用getBasicInspector
和getValidationInspector
方法实现它,但它们不能覆盖基类的updateInspector
,因为它包含处理逻辑。
此处是否使用final
关键字?
public final Inspector udpateInspector {
if (some check here) {
return this.getBasicInspector();
} else {
return this.getValidationInspector();
}
}
答案 0 :(得分:1)
是的,这正是java为方法设置final修饰符的原因。
答案 1 :(得分:1)
是的......看看文档...
https://docs.oracle.com/javase/tutorial/java/IandI/final.html
最终方法的想法是阻止从子类中覆盖它......