我的问题是关于Java中的声明和值赋值规则。 当编写字段时,我们可以声明和分配值,但我们不能单独做同样的事情。Instantiation and declaration separate
例如为:
class TestClass1 {
private int a = 1;
private int b ;
b= 1;
private int sum;
public int getA() {
return a;
}
public int getB() {
return b;
}
public int getSum() {
sum = a + b;
return sum;
}
}
public class TestClass {
public static void main(String[] args) {
TestClass1 testClass1 = new TestClass1();
System.out.println("total =" + testClass1.getSum());
}
}
符合
这里:
private int a = 1;
我们能够宣布为私人诠释,并分配一个值1到它。但在以下情况下:
private int b ;
b= 1;
Eclipse不允许发生这种情况并引发错误。请解释这背后的逻辑。
是你不能,这是Java的基本语法,成员字段可以是'initialized'时声明,任何的说法应该是在方法或静态块! – Rugal
除了没有意义(在基元的情况下)?因为这就是语言的设计。请参阅:http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html –