我有一个名为Building的类,有几个类可以扩展它,例如Office和Hospital。扩展类最多只添加十几行代码,因此我不想将它们放在不同的文件中。我不相信内部类会工作,因为它首先需要外部类的实例 - >建筑物。
因此,我想要做的是Building b = new Office(var);
,但Office.java中没有Office代码,因为它最多只包含几行代码,但构建将包含大部分代码。但在我的情况下,将Office作为类型是有价值的。有帮助吗?谢谢你的时间!
答案 0 :(得分:3)
您可以使用静态嵌套类,然后您不需要Building的实例,但我认为在这种情况下最好的方法是使用单独的Java文件。如果它们只包含几行就没关系。
答案 1 :(得分:0)
。我不相信内部类会工作,因为它首先需要外部类的实例 - >建筑物。
您可以改为使用static
嵌套类。
答案 2 :(得分:0)
您可以使用静态嵌套类:
public class Building {
public static class Office extemds Building {
}
}
然后您可以像这样创建一个Office:
Office o = new Building.Office();
但你应该将它们放在单独的文件中以使其更清洁。
答案 3 :(得分:0)
您可以将其定义为静态内部类,但我没有看到这一点,因为它使得该类使用起来更加麻烦。仅仅因为一个类很小并不意味着它不应该在它自己的文件中。
public class Building {
...
public static class Office extends Building {
...
}
}
Building.Office office = new Building.Office();