2015-05-31 49 views
-1

我明白,在静态方法中,非静态成员应该与相关对象一起调用,否则会产生歧义。在Java中,如果一个方法使用静态成员,为什么它本身应该声明为静态?

如果我的理解是正确的?

+0

你在问关于访问静态成员还是非静态成员?你的头衔和问题主体似乎会提出不同的问题。 – Eran

+0

它不一定被宣布为静态:它完全取决于你。 – dasblinkenlight

+0

错误的标题和问题的主体! –

回答

1

在Java中,如果一个方法使用静态成员,为什么它本身应该被声明为静态?

这不是真的 - 使用static成员的方法本身不需要是static本身。

我明白,在静态方法中,非静态成员应该与相关对象一起调用,否则会存在歧义。

如果我的理解是正确的?

当成员变量或方法是static,就意味着这个成员变量或方法没有的一部分,或之类的一个具体的目的上不工作;它由该类的所有对象共享。 Oracle的Java教程中的Understanding Class Members部分更详细地解释了这一点。

非静态方法在特定对象上工作,所以如果您从静态方法调用它们,则必须在对象上调用它们,因为当您处于进入状态时没有当前对象(其中引用了this)一个静态方法。

相关问题