gpt4 book ai didi

java - java中静态方法不能通过引用变量访问

转载 作者:行者123 更新时间:2023-11-30 02:28:09 25 4
gpt4 key购买 nike

我只是想看看是否可以使用初始化为“null”的“引用变量”通过“静态”方法访问静态变量(我知道不建议这样做)。但我似乎根本无法访问该方法。似乎无法发现什么问题。

class Emp {

static int bank_vault;

static int getBankVaultValue(){
return bank_vault;
}
}

public class Office {

public static void main(String[] args)
{
Emp emp = null;

System.out.println(emp.); // Here I don't get getBankVaultValue method option
}
}

最佳答案

这只是您的 IDE。您可以在那里使用emp.getBankVaultValue(),它会起作用。您可以通过该实例引用访问静态方法(即使它是 null;它永远不会取消引用,因为 getBankVaultValue 是静态的),并且静态方法当然可以访问静态变量。但是您的 IDE 没有向您提供该建议,因为正如您所说,通过实例引用访问静态成员是一个坏主意;对于任何查看代码的人来说,看起来您正在访问实例成员。 (至少,我认为这就是 IDE 不这样做的原因。)

您清楚地意识到这是一个坏主意,并且您知道如何正确执行此操作,但对于其他提出问题/答案的人来说,访问该问题/答案的正确方法是通过类名称,例如:

System.out.println(Emp.getBankVaultValue());

另一个 (emp.getBankVaultValue()) 有效,但它是一个语法怪癖。

关于java - java中静态方法不能通过引用变量访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45031616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com