Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

違いは?

下のパターンAとBの違いが分かりません。

パターンA
class A
{
   //ここでクラスBを宣言
   B classB;

   class B
   {
   }
}

パターンB
class A
{
   //ここでクラスBを宣言
   B classB;
}

class B
{
}

5

回答

2300

閲覧

5件の回答

評価

0

Aの場合「class Bは class A.B」
Bの場合「class Bは class B」

評価

0

この場合は結構違う。
パターンAの場合、Bのインスタンスを生成するためにはAのインスタンスが必要。
しかし、パターンBでは不要。

パターンAが
class A {
    B classB;
    static class B {
    }
}
だと違いはぐっとなくなる。
つか、意味的な違い以外はないと思っていい。

評価

0

パターンAは1ファイルで済む。

パターンBは2ファイル必要。

評価

0

パターンBでも2ファイル必要じゃないですよ、この場合。
それが良いかどうかは別ですが。

評価

0

Default 修飾の インナークラスは同一パケージから参照は不可能だったはずですよ。

> static class B

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。