我对Java和编码非常陌生。我正在开发一个项目,我创建了两个接口,现在正在创建一个名为VehicleChassis的具体类,它实现了我的机箱接口。首先,我创建了一个名为chassisName实例变量的String。现在,我需要使用以下值创建一个默认构造函数和重载构造函数 - 一个参数值为chassisName的String。我在互联网上搜索了如何做到这两点,但我很困惑。救命啊!
以下是我到目前为止的代码。
public abstract class VehicleChassis implements Chassis{
public String chassisName;
}
答案 0 :(得分:1)
你是说这个?
public abstract class VehicleChassis implements Chassis{
public String chassisName;
VehicleChassis() {
chassisName = "name";
}
VehicleChassis(final String chassisName) {
this.chassisName = chassisName;
}
}
您将无法实例化此VehicleChassis
,因为您已将其声明为抽象。但是,如果扩展此类,则可以使用构造函数。如果那是你打算做的事情,请考虑声明构造函数受保护。
答案 1 :(得分:1)
如果您未将Chassis
保留VehicleChassis
中的所有方法都设为abstract
。
您可以根据需要重载构造函数。
public String chassisName;
public VehicleChassis() {
chassisName = "No";
}
public VehicleChassis(String chassisName) {
this.chassisName = chassisName;
}
如果您有另一个实例变量:
public VehicleChassis(String chassisName, int price) {
this.chassisName = chassisName;
this.price = price;
}
答案 2 :(得分:0)
您可以创建如下构造函数。如果实例变量更多且并非所有都是必需的,那么您可以使用构建器模式逐步构建对象。
public class VehicleChassis implements Chassis {
public String chassisName;
public VehicleChassis() {
// some code
}
public VehicleChassis(String chassisName) {
this.chassisName = chassisName;
}
}
答案 3 :(得分:-3)
标记为abstract的类无法直接实例化。所以我们不需要创建构造函数和重载的构造函数。