java--静态方法和非静态方法的调用
静态方法属于类,可直接调用,若调用其他类的静态方法需通过类名
class Test{public static void E(){}
}
public class Work{//静态方法中调用静态方法public static void main(String[] args){//调用本类的静态方法A();//静态方法属于类,可直接调用Work.A();//静态方法属于类,也可通过类名调用//调用其他类的静态方法Test.E();//若调用其他类的静态方法需要通过类名调用}public static void A(){}//动态方法中调用静态方法public void B(){A();Work.A();Test.E();//相同的,只要记住静态方法属于类可以直接调用,若调用其他类要加类名即可}
}
非静态方法属于对象实例,需通过对象调用
class Test{public void E(){}
}
public class Work{//在静态方法中调用非静态方法public static void main(String[] args){Work w=new Work();w.B();//非静态方法需通过对象调用,a类对象只能调用a类实例方法Test t=new Test();t.E();//非静态方法需要通过对象调用}//在非静态方法中调用非静态方法public void B(){C();//此处等价于this.C(),即C被当前对象调用this.C();Work w=new Work();w.C();//C被对象w调用Test t=new Test();t.E();//E被对象t调用}public void C(){}
}