我刚刚在一个文档中读到"静态方法只能调用其他静态方法而不能从中调用非静态方法".但是当我试图测试它时,我认为看到了不同的东西.
我有一个C级,如下所述
import pckage1.*;
public class C
{
public static void main(String par[])
{
}
public static void cc()
{
A ob = new A();
ob.accessA(0);
}
}
Run Code Online (Sandbox Code Playgroud)
A级是哪里
package pckage1;
public class A
{
public A()
{
}
public void accessA(int x)
{
}
}
Run Code Online (Sandbox Code Playgroud)
现在来自C类中的cc STATIC方法,调用NON STATIC方法accessA().如果关于静态方法的陈述是真的,怎么可能呢?
静态方法只能调用其他静态方法,不能从中调用非静态方法
那是错的.
静态方法可以,只要他们有对象调用的方法调用非静态方法上(如您在您的代码段发现的).否则怎么会一个非静态方法曾经被称为?
你无法nonStaticFoo()
从静态方法中做到,因为它被解释为this.nonStaticFoo()
并且因为this
静态方法中没有可用的方法.
今天早些时候非常相似的问题:
归档时间: |
|
查看次数: |
176 次 |
最近记录: |