如题 普通方法调用同类中的静态和非静态方法有什么规则?
我这才发现···不好意思啊 还是谢谢你了
静态方法不能调用非静态方法,因为调用非静态方法要实例化对象。调用静态方法直接用"类名.静态方法名",而非静态方法的调用格式是"对象.方法名"。
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();
}
} 程序运行结果:
妈妈再也不用担心我的学习了!
妈妈再也不用担心我的学习了!
慕课网
妈妈再也不用担心我的学习了!
你好!