2011-02-01 8 views
2

これは単にメソッド/フィールド/列挙定数に対して行うことができますか?Javaでは、(静的に)コンストラクタまたはローカル変数をインポートできますか?

+1

静的メンバーに1つまたは2つのクラスから頻繁にアクセスする必要がある場合に使用します。静的インポート機能を過度に使用すると、プログラムを読めなくして維持できなくなることがあります。有効なJava項目17:静的インターフェース反パターン、静的インポートは定数のローカルコピーを宣言します。 – Narayan

答えて

1

Javaのコンストラクタは直接(new経由で)呼び出すことはできません。したがって、それらを含むクラスからインポートすることはできません。コンストラクタの唯一の使用は、クラスの新しいインスタンスを作成することなので、とにかくクラス全体をインポートする必要があります。これはコンストラクタを意味します。言い換えれば、それはインスタンスメソッドであり、staticのメソッドと変数だけをインポートできます。

ローカル変数は、それらが方法[更新](または静的/インスタンス初期化子)[/更新]内部にのみコードブロックに、クラスに関連付けられていない、すなわち、その範囲外では存在していません。では、どうやってそれらをインポートしますか?

+0

それは私が思ったものです。 –

+0

しかし、ローカル変数はclass/enumsのインスタンス/静的イニシャライザ内にも現れることに注意してください。 –

+0

@ジョン、輸入性に関して何も変わっていませんが、良い点です。それにもかかわらず私は答えを広げた。 –

2

いいえ、できません。

メソッドまたは変数をインポートするには、パブリックで静的である必要があります。コンストラクターとローカル変数は静的にすることはできません。

関連する問題