关于静态关键字的困惑

Tah*_*lil 1 java oop static

我刚刚在一个文档中读到"静态方法只能调用其他静态方法而不能从中调用非静态方法".但是当我试图测试它时,我认为看到了不同的东西.

我有一个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().如果关于静态方法的陈述是真的,怎么可能呢?

aio*_*obe 5

静态方法只能调用其他静态方法,不能从中调用非静态方法

那是错的.

静态方法可以,只要他们有对象调用的方法调用非静态方法(如您在您的代码段发现的).否则怎么会一个非静态方法曾经被称为?

无法nonStaticFoo()从静态方法中做到,因为它被解释为this.nonStaticFoo()并且因为this静态方法中没有可用的方法.

今天早些时候非常相似的问题: