類方法:使用static修飾(靜態方法),屬於整個類的,不是屬於某個實例的,只能處理static域或調用static方法;
實例方法:屬於對象的方法,由對象來調用。
判斷類方法,類方法的前面有static 修飾
public class Example { float a, b; // 這個是實例方法 void sum(float x, float y) { a = max(x, y); b = min(x, y); }
// 類方法 static float getMax(float x, float y) { float c; c = max(x, y) * max(x, y); return c; }
// 類方法 static float max(float x, float y) { return x <= y ? y : x; } // 實例方法 float min(float x, float y) { return x <= y ? x : y; } }
一個類中的方法可以互相調用。但要注意:實例方法可以調用該類中的其他方法,例如,sum()可以調用max()和min()。類方法只能調用其他類方法,不能調用實例方法。例如,getMaxSqrt()只能調用max()而不能調用min()。
當類文件加載到內存時,實例方法不會被分配內存空間,只有在對象創建之后才會分配。而類方法在該類被加載到內存時就分配了相應的內存空間。
實例方法既能對類變量操作也能對實例變量操作。
類方法只能訪問其他static方法。
類方法只能訪問其他static數據,類變量。