在静态方法和非静态方法中,本类中可以直接调用静态或动态方法;定义的静态方法只能调用静态方法用“类名.方法名”来调用,不能调用飞静态方法和静态方法中的成员变量。非静态方法既能调用静态方法(类名。方法名)又能调用非静态方法(1、先引用一个对象;2用“对象名。方法名”)
示例:
public class Demo {
//定义一个静态方法
public static void callMe(){
System.out.println("This is a static mothod");
}
//定义一个非静态方法
public void callMe2(){
System.out.println("This is a nonstatic method");
}
public void test(){
callMe();//可以直接调用本类中的非静态方法
callMe2();//可以直接调用本类中的静态方法
Demo.callMe();//调用静态对象无需创建对象,可以直接用“类名.方法名”调用
Demo demo=new Demo();
demo.callMe2;//调用非静态的使用,“对象.方法名”
}
public static void main(){
Demo.callMe();//静态方法在访问本类中的成员时,只允许访问静态方法.
//在静态方法中不允许调用非静态方法和引用非静态成员变量。
//故不能调用callMe()
}
}