CodeGym /コース /Java のマルチスレッドプログラミング /匿名内部クラスのコンストラクター/変数、および最終

匿名内部クラスのコンストラクター/変数、および最終

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; }
}

「そのようなクラス内で変数を宣言し、イニシャライザで初期化できます。」

「素晴らしいですね、制限が大幅に減りました。」

「これで、私たちは内部クラスについて知ることができました。気に入っていただければ幸いです。」

「たくさんあります。キム、リシ、そして特にあなた、エリーからのレッスンは本当に一流でした。」

「なんて優しい話し方なんだ! 続けて…」

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION