看板 java 關於我們 聯絡資訊
※ 引述《fireballboy (火球男兒)》之銘言: : public class EnclosingClass { :   private String someMember = "Some Member"; :   //製造一個innerclass : private class InnerClass { :     private String someMember = "Inner Member"; :     public void doIt( ) { :       System.out.println(someMember); :       System.out.println(EnclosingClass.this.someMember); :     } :   } :   //主程式 :   public static void main(String[] args) { :     //new出inner class : EnclosingClass outerObj = new EnclosingClass(); : EnclosingClass.InnerClass inner = outerObj.new InnerClass(); :   } : } 首先 new 不是誰的方法,可能因為看法分段錯誤的關係 從宣告的方式來看 EC.IC inner = outerObj.new IC(); //or = new EC().new IC();  ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ 應該要這樣看才對 那麼可以知道java裡面必須存在外面的 class 後才宣告裡面的 inner class 也就說他們是一對多的關係 除非 inner class 宣告為 static 能夠寫成 = new EC.IC(); 再來是 this 標示為當前的參考,採用EC.this存取EC的當前參考 搭配宣告方式應該不難理解 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.184.50 ※ 編輯: snowlike 來自: 114.33.184.50 (04/03 16:45)
fireballboy:那寫上EC.x和寫上EC.this.x不是都一樣嗎?為什麼this不 04/03 17:16
fireballboy:用static呢? 04/03 17:17
snowlike:請詢問老師或課本ClassName.member和this.member的差別 04/03 20:51