1

私にはBuildingというクラスがあり、OfficeやHospitalなど、それを拡張するクラスがいくつかあります。拡張クラスはせいぜい12行程度のコードしか追加しないので、それらを別のファイルに入れたくありません。最初に外部クラスのインスタンスが必要になるため、内部クラスが機能するとは思わない->Building。

したがって、私がやりたいのは実行することですがBuilding b = new Office(var);、Office.javaには最大で数行のコードが含まれるためOfficeコードはありませんが、Buildingにはほとんどのコードが含まれます。しかし、タイプとしてOfficeを持つことは、私の状況では価値があります。何か助けはありますか?お時間をいただきありがとうございます!

4

4 に答える 4

3

入れ子になった静的クラスを使用できれば、Building のインスタンスは必要ありませんが、この場合は別の Java ファイルを使用するのが最善だと思います。数行しか含まれていなくてもかまいません。

于 2012-04-30T18:29:09.480 に答える
0

. 最初に外部クラスのインスタンスが必要なので、内部クラスが機能するとは思わない-> Building.

static代わりに、ネストされたクラスにすることができます。

于 2012-04-30T18:29:21.313 に答える
0

ネストされた静的クラスを使用できます。

public class Building {

    public static class Office extemds Building {
    }
}

次に、次のように Office を作成できます。

Office o = new Building.Office();

しかし、それらを個別のファイルに入れて、よりクリーンにする必要があります。

于 2012-04-30T18:29:34.707 に答える
0

これを static 内部クラスとして定義することもできますが、このクラスを使用するのがより面倒になるため、要点がわかりません。クラスが小さいからといって、それが独自のファイルにあるべきではないというわけではありません。

public class Building {
    ...
    public static class Office extends Building {
        ...
    }
}

Building.Office office = new Building.Office();
于 2012-04-30T18:29:54.493 に答える