可以这么理解,静态先于对象而存在,所以可以直接类名调用。而非静态只有类被加载后建立对象,这时候内存中才有这个方法,才能够被调用
当然了静态方法也可以用对象调用
class Test{
public static void show(){
System.out.println("static show");
}
public void method(){
System.out.println("method");
}
}
public class Demo {
public static void main(String[] args){
Test.show();
Test.method();//这里不能这么写,因为method方法不是静态的
Test t=new Test();
t.show();//静态方法也可以用对象调用
t.method();
}
}