Java为什么不能在 类中方法外给成员变量赋值(已定义)

大哥大姐们帮我问下,Java为什么不能在 类中方法外给成员变量赋值(已定义)
最新回答
萌兽

2024-11-08 00:16:24

i=1是语句,语句出现在类成员的位置(类中,成员方法之外)需要加{},使之成为构造代码块,否则在编译时会报错。改成这样就可以了(jdk8.0编译通过):
class AA {
int i;
{
i=i;
}
}
public class Test {
public static void main(String[] args) {
AA a2=new AA();
}
}
浅笑离愁

2024-11-08 00:19:57

i = 1
是java 的代码行,代码必须放到方法中 或静态代码块 中!!
′荼糜公主﹏

2024-11-08 00:35:38

如果这样赋值,那么i=1会在什么时候执行呢?
i=1不属于任何一块,这就像为什么1+1要等于2这种.