程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中匿名內部類的作用

Java中匿名內部類的作用

編輯:關於JAVA

 Java的內部類和C++中的嵌套類有本質的不同:C++的嵌套類沒有指向包裝類的句柄。僅僅表達一個封裝的概念;但是Java的內部類不同,它可以訪問包裝類的成員(這表示它擁有指向包裝類的句柄)。

  匿名內部類是內部類的一種簡化寫法:return new Wrapper {

  ...

  };

  等價於:Wrapped extends Wrapper {

  ...

  }

  return new Wrapped();

  難道匿名內部類就只這一點作用嗎?

  考慮一下這樣的case:

  interface ICount {

  int count();

  }

  class Parent {

  int i = 0;

  int count() {

  return i++;

  }

  }

  有一個類Child,它既想繼承Parent的count()方法,又想實現ICount接口中的count方法,這個時候怎麼辦呢?內部類就可以大顯身手了:

  class Child extends Parent {

  ICount getCount() {

  return new ICount {

  int i = 0;

  int count() {

  return (i *= 2);

  }

  }

  }

  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved