使用静态方法后,对方法的调用直接 类名.方法名
public class Student { public static void say(){ System.out.println("学生回答了!"); }} public class Demo01 { public static void main(String[] args) { Student.say(); }}输出结果:学生回答了!
如果用非静态方法,则需先实例化这个类(new)
对象类型 对象名 = 对象值
输出结果:学生回答了!
关于类对调用还有些特殊情况
1.两个方法都是静态方法可以互相调用。
2.两个方法都是非静态方法可以互相调用。
3.一个为静态方法一个为非静态方法,非静态方法可以调用静态方法,静态方法不能调用非静态方法。
原因:static是和类一起加载对,非静态方法是类实例化之后才存在。
代码解释:
public class Demo02 { public static void main(String[] args) {} public static void a(){ b(); } public static void b(){ a(); }} public class Demo02 { public static void main(String[] args) {} public void a(){ b(); } public void b(){ a(); } } public class Demo02 { public static void main(String[] args) {} public void a(){ b(); } public static void b(){ a(); //这个不可以!!! }}