class Work {
static int num = 3;
public static void main(String[] args) {
Work t = new Work();
t.num = 5;
method(t); // 傳遞對象給靜態方法
System.out.println(t.num);
}
public static void method(Work t) { t.num = 6; }
}
靜態方法 `method` 屬於類,不屬於實例,**無法直接訪問非靜態成員**(若不傳對象引用)。雖然此處通過參數傳入實例 `t` 可行,但屬於「繞彎路」。
class Work {
static int num = 3;
int instanceNum = 5; // 非靜態成員
public static void main(String[] args) {
Work t = new Work();
t.instanceNum = 5;
t.method(); // 調用實例方法
System.out.println(t.instanceNum);
}
public void method() { // 非靜態
this.instanceNum = 6;
}
}
實例方法隱含 `this` 參考,自然訪問實例字段,設計更符合面向對象原則。