赵浩翔*_*赵浩翔 2 java variables instance
当我看到“实例变量可以在使用之前或之后在类级别声明”时,我有一个问题。在网站java_variable_types
我不明白这个sequense是什么级别和含义。
我认为他们的意思是这是合法的:
public class Test {
private int someValue;
public int myMethod() {
return someValue + anotherValue;
}
private int anotherValue;
}
Run Code Online (Sandbox Code Playgroud)
(而且是!)
但是,我认为该站点将其描述为“[i]nstance 变量可以在使用之前或之后在类级别声明”是错误的。
“在课堂上声明”这个短语是糟糕的英语语法。
“在课堂上”这个词是模棱两可的。这可能意味着在类的主体中声明。但是,它也可能意味着声明为“类级别”(即static)变量。(这是矛盾的,不正确的,但是......)
短语“使用前或使用后”是模棱两可的。它可能意味着在源代码文件之前或之后。它也可能意味着在时间意义上的之前或之后。(这是不正确的。在运行时,对象的所有实例变量在方法或构造函数体中的代码被执行之前被声明和初始化。)
虽然他们在这句话中试图说的(我认为)是正确的,但他们表达得很糟糕,这显然引起了一些读者的困惑。