「Java」「Inner」 Chapter4 Question8

 哪裡會造成編譯錯誤?

Given:
class Test1{
 private void Show() {}
 class Test2{
  private void Inner() {
   Show();
  }
 }
 public static void main(String[] args) {
  Test2 t2 = new Test1().new Test2();
  Inner();
  t2.Inner();
  new Test1().new Test2().Inner();
 }
}

Answer:
Inner(); 造成編譯錯誤。因為Inner()是內部類別。

正確宣告方法:

  t2.Inner();
  new Test1().new Test2().Inner();

留言

這個網誌中的熱門文章

[Excel]國曆轉農曆VBA

「CSS」「div區塊介紹」 三欄式網頁排版設計

「生活」眉毛觀人