【问题标题】:Can a java class object be a state variable in another class? [duplicate]java 类对象可以是另一个类中的状态变量吗? [复制]
【发布时间】:2020-09-17 06:27:51
【问题描述】:

假设我在 Java 中有一个 Car 类,然后我创建了另一个名为 ElectricCar 的类。 Car 对象可以作为 ElectricCar 类中的状态变量吗?

【问题讨论】:

  • 是的,它可以......
  • 为什么不应该呢?
  • 它会起作用,因为每个ElectricCar 都是Car,但不是每个Car 都必须是ElectricCar

标签: java


【解决方案1】:

是的;这很常见:

class Car {
}

class ElectricCar {
    private final Car car;

    ElectricCar(Car car) {
        this.car = car;
    }

}

【讨论】:

    【解决方案2】:

    简单地说:是的。试试看:

    class Car {
    }
    
    class ElectricCar {
        Car myCar = new Car();
    }
    

    【讨论】:

    • @Tad 然后用你的所有信息提出一个新问题。
    • 您可以通过省略 Car ctor 来简化此操作。
    • 如果我在“main”中实例化一个 ElectricCar 对象并想要访问 Car 对象的属性/状态变量,我该怎么做?如果我的 ElectricCar 对象名称是electricOne,假设有一个名为 engineSize 的 Car 状态变量,其默认值为 350。如何使用 ElectricCar 实例获取此值?谢谢!
    • @Tad 你应该可以从主类访问这个:electricOne.myCar.engineSize
    • 实际上刚刚得到它。需要使我的汽车状态变量公开而不是私有。但这是对的吗?根据我的问题,我将通过调用electricOne.myCar.engineSize 来访问engineSize。但是我不应该能够在 Car 类中保持 engineSize 私有并且仍然能够使用electricOne.myCar.engineSize 访问它吗?
    猜你喜欢
    • 2018-04-17
    • 2021-11-30
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 2011-06-02
    相关资源
    最近更新 更多