【发布时间】:2019-12-06 07:53:22
【问题描述】:
目前正在做一些功课并遇到麻烦 - 我不确定如何正确使用 toString。这是作业问题:
创建一个名为 Vehicle 的类,作为车辆类型的超类。 Vehicle 类包含用于车轮数量和每加仑平均英里数的私有变量。 Vehicle 类还包含一个构造函数,其带有用于轮数和每加仑平均英里数的整数参数,以及一个 display() 方法,该方法使用 toString() 方法将整数值转换为 String 来打印所需的输出。
创建两个子类,Car 和 MotorCycle,它们扩展了 Vehicle 类。 每个子类都包含一个构造函数,该构造函数接受英里/加仑值作为参数,并将车轮数强制为适当的值——摩托车为 2,汽车为 4。使用超类构造函数设置wheels和mpg数据字段(使用super关键字)。
编写一个 UseVehicle 类来实例化每个子类的一个对象并显示该对象的值。 将文件保存为 Vehicle.java、Car.java、MotorCycle.java 和 UseVehicle.java
public class Vehicle {
protected int wheelnumber;
protected int mpg;
Vehicle (int wheelnum, int aMpg) {
wheelnumber = wheelnum;
mpg = aMpg;
}
public void display() {
System.out.println("Wheels: " + toString(wheelnumber) + " Mpg: " + toString(mpg));
}
}
public class Car extends Vehicle{
Car (int CarMPG) {
super(4, CarMPG);
}
}
public class Motorcycle extends Vehicle{
Motorcycle (int MotorcycleMPG) {
super(2, MotorcycleMPG);
}
}
public class UseVehicle {
public static void main(String[] args) {
Car Car1 = new Car(30);
Motorcycle Motorcycle2 = new Motorcycle(60);
System.out.print("Car--> ");
Car1.display();
System.out.print("Motorcycle—> ");
Motorcycle2.display();
}
}
【问题讨论】:
-
Java 中没有这样的 global 方法方法。在你的代码中,所有需要的是
System.out.println("Wheels: " + wheelnumber + " Mpg: " + mpg); -
为什么不重写对象的tostring方法?
-
为什么需要 toString 来打印原语?