CodeGym /課程 /Java 多執行緒 /匿名內部類的構造函數/變量,以及final

匿名內部類的構造函數/變量,以及final

Java 多執行緒
等級 4 , 課堂 8
開放

“嗨,阿米戈!”

“如您所知,匿名內部類不能有構造函數。”

“是啊。不太方便。構造函數真的很重要。”

“俗話說,只要你想得夠壞,沒有什麼是不可能的。”

“請記住,靜態變量沒有靜態構造函數,但有一個靜態初始化器——靜態塊。”

“嗯,我記得。”

“匿名內部類具有完全相同的初始值設定項,只是它不是靜態的。”

例子
class Car {
 public ArrayListcreatePoliceCars(int count) { ArrayList result = new ArrayList(); for(int i = 0; i < count; i++) { final int number = i; result.add(new Car() { int policeNumber; { policeNumber = number; } }); } return result; }
}

“這次我用紅色突出顯示了匿名內部類代碼,用紫色突出顯​​示了它的初始化程序(實際上是它的構造函數)。‘構造函數’有一個主體,但沒有方法簽名:”

期待 現實
class Car { int policeNumber;
 Car(){ policeNumber = number; }
}
class Car { int policeNumber;
{ policeNumber = number; }
}

“你可以在這樣的類中聲明變量並在初始化器中初始化它們。”

“太好了,現在他們的限制少了很多。”

“有了這個,我們開始了解內部類。我希望你喜歡它。”

“很多。Kim、Rishi,尤其是你,Ellie 的課程簡直是一流的。”

“真是個甜言蜜語!繼續……”

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION