我需要编写一个静态方法,该方法接受一系列Vehicle并打印数组中的每个注册号。数组中的对象是Vehicle,Car或Truck对象引用。最后,我需要在一行上单独打印对象的注册号。
所以代码是:
public class Vehicle {
private String registrationNumber;
public Vehicle(String rego) {
registrationNumber = rego;
}
public String getRegistrationNumber() {
return registrationNumber;
}
}
public class Car extends Vehicle {
int passengers;
public Car(String rego, int pass) {
super(rego);
passengers = pass;
}
public int getPassengers() {
return passengers;
}
}
public class Truck extends Vehicle {
int tons;
public Truck(String rego, int tons) {
super(rego);
this.tons = tons;
}
public int getTons() {
return tons;
}
}
我必须为以下测试编写静态方法并获得以下内容,但我遇到了一些麻烦。
这是我到目前为止所做的:
public static void printRegNum(Vehicle[] list){
for (int i = 0; i < list.length; i++){
System.out.println(list[i]);
}
}
答案 0 :(得分:0)
没有问题出在哪里
即
public static void main(String[] args){
Car car = new Car("MYCAR",4);
Truck t = new Truck("MYTRUCK", 16);
Vehicle[] myList = new Vehicle[] {car, t};
printRegNum(myList);
}
您似乎只需要打印&#34; rego&#34;。
System.out.println(list[i].getRegistrationNumber());
答案 1 :(得分:0)
System.out.println(list[i]);
播放的 第一种方式是覆盖课程toString()
中的Vehicle
方法:
public class Vehicle {
private String registrationNumber;
public Vehicle(String rego) {
registrationNumber = rego;
}
public String getRegistrationNumber() {
return registrationNumber;
}
public String toString() {
return registrationNumber;
}
}
第二种方式正在改变:
来自:
System.out.println(list[i]);
为:
System.out.println(list[i].getRegistrationNumber());
希望那些人可以提供帮助。