java中,静态方法是不能调用非静态方法的,或者说是不能直接调用非静态方法的,但可以间接调用。在某个static方法中,我们通常会创建一个实例,然后,通过参数引用来调用非静态方法。
public class Main
{
void NoStaticMethod()
{
System.out.println("This is not a static method");
}
static void StaticMethod(Main m)
{
System.out.println("This is static method");
m.NoStaticMethod();
}
public static void main(String[] agrs)
{
Main m=new Main();//创建一个实例
StaticMethod(m);//静态方法,直接调用
}
}
运行结果:
This is static method
This is not a static method