我对java和一般编码非常新。我正在从事一个项目,在该项目中创建了两个接口,现在正在创建一个名为Weariclechassis的具体类,该类别实现了我的底盘接口。首先,我创建了一个名为ChassisName实例变量的字符串。现在,我需要创建一个带有以下值的默认构造函数和过载构造函数 - 具有底盘名的参数值的字符串。我已经搜索了互联网如何做两者,但是我很困惑。帮助!
以下是我到目前为止的代码。
public abstract class VehicleChassis implements Chassis{
public String chassisName;
}
您的意思是?
public abstract class VehicleChassis implements Chassis{
public String chassisName;
VehicleChassis() {
chassisName = "name";
}
VehicleChassis(final String chassisName) {
this.chassisName = chassisName;
}
}
您将无法实例化此VehicleChassis
,因为您已将其声明为抽象。但是,如果扩展此类,则可以使用构造函数。如果您打算这样做,请考虑声明受保护的构造函数。
如果您未在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;
}
有关构造函数超载的更多信息,请阅读此问题答案。
您可以如下所示创建构造函数。如果实例变量更多并且不是强制性的,那么您可以使用构建器模式逐步构建对象。
public class VehicleChassis implements Chassis {
public String chassisName;
public VehicleChassis() {
// some code
}
public VehicleChassis(String chassisName) {
this.chassisName = chassisName;
}
}
标记为抽象的类,无法直接实例化。因此,我们不需要创建构造函数和超载构造函数。