9

Eclipse の「Extract Interface」リファクタリングを使用するとpublic abstract、デフォルトでメソッドが宣言されます。なんで?publicインターフェイスの修飾子は完全に冗長でありabstract、インターフェイス宣言でも意味がないようです。

4

1 に答える 1

7

これらのキーワードは確かに冗長です。私は個人的にはこの文脈ではそれらを使用しませんが、誰かがそれらを含めることを好む理由は理解できます.

JLSは、この慣行を明示的に思いとどまらせます。

publicインターフェイスで宣言されたメソッドのand/orabstract修飾子を重複して指定することは許可されていますが、スタイルの問題としてお勧めできません。

私のバージョンの Eclipse (Juno SR1) では、[Extract Interface] ダイアログに 2 つのオプションがあります。

  • インターフェイスメソッドを次のように宣言しますpublic
  • インターフェイス メソッドを として宣言しますabstract

それらのチェックを外すと、Eclipse はインターフェイスを抽出するときに 2 つのキーワードを含めなくなります。

冗長な変更をクリーンアップする保留中のEclipse バグ レポートがあります。

于 2013-01-29T07:34:06.440 に答える