考虑一下:
class SomeClass
{
static int a;
int method()
{
int b = a;
return b;
}
}
如何在方法中访问a
?是this.a
还是someClass.a
?
编辑:很抱歉,如果我不清楚我的问题。我想知道的是:*是否有隐藏的此或 someClass 与 a [在方法]相关联或者只是 [在方法]中访问类成员?
答案 0 :(得分:1)
它只是someClass.a
:任何类实例的相同字段。如果您需要明确消除歧义,可以写:h :command
。
仔细考虑为什么你需要一个非静态方法来返回一个静态成员:它看起来像一个代码"闻到"对我来说。
答案 1 :(得分:1)
我会编辑你的例子,以使它看起来更正确:
public class SomeClass
{
private static int a = 1;
public int method()
{
int b = a;
return b;
}
}
int b = a;
等于int b = SomeClass.a;
不要与this
混淆 - 它是对象的引用。静态字段属于某个类,而不属于对象,因此使用a
this.a
是不正确的
并且,正如已经提到的here:
实例方法可以访问类变量和类方法 直接
答案 2 :(得分:0)
如果你在课堂上,可以通过拨打a
您可以使用someClass.a
答案 3 :(得分:0)
只要静态成员是公共成员,就可以使用任何类中的“SomeClass.a”。对于私有成员,如果您确实需要访问该成员并在该类中,请创建一个访问器方法,只需将其指定为“a”。