Javaの輸入が必要ない場合(異常な資格)[編集された質問
質問
Javaのエンティティを資格を得るための特別な方法がいくつかあることに気付きました。
Object o = new Outer().new Inner();
この場合、外側のクラスで内部クラスを資格を取得しているため、外側クラスをインポートするだけが必要です。
import mypackage.Outer;
このような他のケースはありますか? (つまり、ここで 普通でない 資格が発生します - 珍しいことによって私はそうではありません: fullQualifier.identifier
).
自動輸入のケース(java.lang、プリミティブタイプなど)を除外しています。
解決
あなたが説明した構造を誤解していると思います:
Object o = new Outer().new Inner();
実際には、完全に資格を付ける方法です Inner
クラス「コンストラクター」と同じように
Outer.Inner i = new Outer().new Inner();
一方、これを書くことができます:
import path.to.Outer;
import path.to.Outer.Inner;
// ...
Inner i = new Outer().new Inner();
他のヒント
また、以下の場合、クラスをインポートする必要はありません。
オブジェクトへのフルパスを使用します。例えば:
java.util.Date d = new java.util.Date();
クラスは同じパッケージにあります
- クラスはにあります
java.lang
パッケージEGString
この場合の外側のパッケージには、内側のパッケージが含まれていました。そのため、1つのコンポーネントを使用するためだけにパッケージ全体をインポートする必要はありません。文字列、java.lang全体をインポートする必要はありません。いくつかの複雑なライブラリの使用では、いくつかのIDEを使用している場合、netbeans ctrl+shift+など、インポートを修正できます。インポートを修正します。
所属していません StackOverflow