如题 普通方法调用同类中的静态和非静态方法有什么规则?
我这才发现···不好意思啊 还是谢谢你了
静态方法不能调用非静态方法,因为调用非静态方法要实例化对象。调用静态方法直接用"类名.静态方法名",而非静态方法的调用格式是"对象.方法名"。
class A { public static void fun1() { System.out.println("妈妈再也不用担心我的学习了!"); } public void fun2() { System.out.println("慕课网"); } public void fun3() { this.fun1(); //非静态方法可以调用静态方法,反之不成立 System.out.println("你好!"); } } public class Demo { public static void main(String[] args) { A.fun1(); //静态方法直接通过类名进行访问 new A().fun1(); //静态方法也可以通过实例化对象的方式进行访问 /*通过实例化对象的方式调用非静态方法*/ new A().fun2(); new A().fun3(); } }
程序运行结果:
妈妈再也不用担心我的学习了!
妈妈再也不用担心我的学习了!
慕课网
妈妈再也不用担心我的学习了!
你好!