static int x = 0;
public static void name(int x) { x++; }
main() { name(x); System.out.println(x); } // 輸出 0
原因:name(int x) 參數 x **遮蔽** 了靜態欄位 x,方法內 x++ 僅修改區域參數,靜態欄位維持 0。若要修改靜態欄位,應去掉參數直接用 ClassName.x++ 或 this.x++ (非靜態語境)。
((A)null).testMethod("tom");
解析:
null 可強轉為任何參考型別,結果仍為 null 參考。A) 解析方法,**不需物件實例**,故不拋 NullPointerException。A obj = null; obj.testMethod("tom"); 或直接 A.testMethod("tom");。null 參考呼叫 (不推薦,降低可讀性)。這兩題考察「變數遮蔽」與「靜態方法解析機制」,是 Java 基礎高頻考點。