2

抽象クラスのコンストラクターを保護するというリントのアドバイスの背後にあるものは何なのだろうか?

4

2 に答える 2

4

非子クラスは、抽象クラスのコンストラクターを呼び出すことはできません (不可能です)。そのコンストラクターを呼び出すことができる唯一のクラスは、抽象クラスの子です。コンストラクターを保護として設定すると、子クラスのみがコンストラクターを認識できるようになります。

編集:詳細については、この質問を参照してください。

また、Joop は匿名の実装については正しいです (Java でそれができるとは知りませんでした)。しかし、私は誰もそれをしているのを見たことがありません。

于 2013-08-07T13:22:25.483 に答える
3

一見、匿名の実装を防ぐために:

new AbstractClass() { ... };
于 2013-08-07T13:22:59.820 に答える