您好stackoverflow成员,
您知道为什么必须仅在一行中声明Java类中的实例变量,而不能在2行中声明吗?
例如:

String ring;
ring = "indeed";


它给出了编译错误。为什么不允许呢?
这样做就像在本示例中一样是毫无意义的,但是使用该过程初始化从超类继承的变量而不使用子类构造函数可能会很有用。

例如:

class Ringo{
String ring;
}
class RingoStar extends Ringo{
ring = "That's how to play drums";
}


显然,它给出了编译错误。这就是重点,有人知道为什么不允许这样做吗?

最佳答案

您可以使用稍微不同的语法获得所需的内容。考虑:

class Ringo{
 String ring;

 {
  ring = "indeed";
 }
}


我想您的问题的答案是Java语法不允许在类主体中仅包含任何语句。您需要使用如上所示的初始化程序块(请参见http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html)。

10-08 12:54