靜態方法:
外部調用靜態方法時,可以直接通過【類名.靜態方法名】的方式調用,也可以通過創建類的對象來調用。
非靜態方法:
非靜態方法的調用只能通過【對象.非靜態方法名】的方式調用。
例:
現分別有一個靜態方法method1、非靜態方法method2
public static void method1(){
System.out.println("這是靜態滴...");
}
public void method2(){
System.out.println("這是非靜態滴...");
}
在調用時:
method2---------【step1: ClassName class1 = new ClassName();
step2: class1.method2; 】
method1 --------ClassName.method1(或者同上方法)
**
靜態方法只能訪問靜態成員,實例方法可以訪問靜態和實例成員。之所以不允許靜態方法訪問實例成員變量,是因為實例成員變量是屬於某個對象的,而靜態方法在執行時,並不一定存在對象。
同樣,因為實例方法可以訪問實例成員變量,如果允許靜態方法調用實例方法,將間接地允許它使用實例成員變量,所以它也不能調用實例方法。
基於同樣的道理,靜態方法中也不能使用關鍵字this。
main()方法是一個典型的靜態方法,它同樣遵循一般靜態方法的規則,所以它可以由系統在創建對象之前就調用。
