類方法:使用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數據,類變量。
