Java静态变量访问

时间:2018-05-30 18:26:36

标签: java static static-methods

有人可以解释一下为什么左边的代码可以编译,但第二个没有?我认为在这两种情况下我都试图访问相同的“数字”变量,但我可能错了...感谢您的解释。

Screenshot

1 个答案:

答案 0 :(得分:0)

让我们首先了解什么是静态方法及其工作原理,然后我们可以很容易地得出这个问题的答案。

每当一个方法被声明为静态时,我们应该记住这些要点:

静态方法属于类而不是类的对象。 无需创建类的实例即可调用静态方法。 静态方法可以访问静态数据成员,并可以更改它的值。

现在,java中的这个关键字是一个引用当前对象的引用变量。此外,java中的super关键字是一个引用变量,用于引用直接父类对象。

因此,我们可以说这两个关键字都是引用某个对象的引用变量。换句话说,这两个关键字都属于该类的实例。

然而,静态成员属于类而不是类的实例。因此静态成员无法访问java中的this和super关键字。