我有一个有变量的abstract
超类。protected String
它没有在超类中初始化。
我要做的就是初始化并在子类中使用它。所以,我有这样的事情:
public class MySubclass extends MyAbstractSuperclass {
thing = "i'm a thing";
[...]
}
看起来很简单,因为继承的重点是在不同的上下文中重用类及其字段。但这是错误的:Syntax error on token "thing", VariableDeclaratorId expected after this token
.
我可以通过在子类初始化周围加上括号来编译它。我想知道的是为什么第一种方法是错误的,以及为什么括号可以解决它。谢谢你的帮助。
编辑:我很欣赏我可以通过使用构造函数来解决这个问题的提示。但是,我仍然很好奇以这种方式使用超类字段实际上有什么问题,因为在我看来这很直观。而且,为什么大括号会修复它,在循环结构之外用大括号包围语句到底意味着什么?