3

静的フィールドで Eclipse の自動プッシュ ダウン リファクタリングを使用しようとすると、次のエラーが発生します。

「このリファクタリングを有効にするには、非バイナリ インスタンス メソッドまたはフィールドの名前を選択してください。」

static キーワードを削除すると、リファクタリングを進めることができます。eclipse の「バイナリ フィールド」とは何を意味し、この制限が存在するのはなぜですか?

4

1 に答える 1

5

静的フィールド/メソッドはクラスにのみ属しているため、サブクラスにプッシュ ダウンすることはできません。

Aが のスーパークラスである場合、呼び出さBれた の静的メソッドの場合、 asではなく asとしてのみ使用できます。このメソッドを押し下げると、確実にクラスの動作が変わり、プログラムの意味に影響を与えます。AaA.aB.a

于 2013-05-17T23:24:23.157 に答える