2静态方法与非静态方法
下面展示了静态方法与非静态方法之间的调用关系和调用方法。
public class Demo {
public static void main(String[] args) {
//调用静态方法:类名.方法名
Student.eat();
//调用其他包的静态方法也可以
int[][] a = new int[3][3];
SparseArray.printTwoArray(a);
//调用非静态方法:先实例化成实例化对象,然后调用
//new Student().say();
Student stu = new Student();
stu.say();
}
/**
静态方法是和类一起加载的,存在的很早,非静态方法是类实例化之后才存在的
可以理解成,先存在的不能直接调用后存在的,上面的main()是静态方法
*/
public static void a(){//先实例化成实例化对象才能调用b()
new Demo().b();
d();
}
public void b(){//可以直接调用a(),c()
a();
b();
c();
d();
}
public void c(){
a();
b();
}
public static void d(){
new Demo().c();
}
}