在方法或类范围中,下面的行编译(带警告):
int x = x = 1;
Run Code Online (Sandbox Code Playgroud)
在类范围中,变量获取其默认值,以下给出"未定义引用"错误:
int x = x + 1;
Run Code Online (Sandbox Code Playgroud)
是不是第一个x = x = 1应该以相同的'未定义引用'错误结束?或者第二行int x = x + 1应该编译?或者有些东西我不见了?
正如许多作者在书中所写的那样,类中实例变量的默认值是由class-default构造函数初始化的,但我在理解这一事实时遇到了问题。
class A {
int x;
A() {}
}
Run Code Online (Sandbox Code Playgroud)
正如我提供的A类的默认构造函数一样,现在x的值如何初始化为0?