【发布时间】:2015-09-14 11:01:32
【问题描述】:
我打算用 2 个派生类(汽车 + 摩托车)创建一个基类(车辆),它们都包含有关每辆车的某些信息。
我正在尝试实例化这些类,但不确定这涉及到什么。我假设我打算使用 toString 方法。
之后,我想将每辆车的每个详细信息打印到控制台。
这是我的基类:
package assignment2;
public class Vehicle {
int seatNumber;
int numberMade;
int yearMade;
public Vehicle() {}
public Vehicle(int seatNumber, int numberMade, int yearMade) {
this.seatNumber = seatNumber;
this.numberMade = numberMade;
this.yearMade = yearMade;
}
public int getSeatNumber() {
return seatNumber;
}
public int getNumberMade() {
return numberMade;
}
public int getYearMade() {
return yearMade;
}
}
这是我的派生类之一(汽车):
package assignment2;
public class Car extends Vehicle {
public int topSpeed;
public Car (int startSpeed, //top speed
int startNumber, //number of seats
int startMade, //number made
int startYearMade) { //year made
super(startNumber,startMade, startYearMade);
topSpeed = startSpeed;
}
public Car(int seatNumber, int numberMade, int yearMade) {
this.seatNumber = 4;
this.numberMade = 1500000;
this.yearMade= 1990;
this.topSpeed = 180;
}
}
这是另一个派生类,motorbike:
package assignment2;
public class Motorbike extends Vehicle{
public int topSpeed;
public Motorbike (int startSpeed, //top speed
int startNumber, //number of seats
int startMade, //number made
int startYearMade) { //year made
super(startNumber,startMade, startYearMade);
topSpeed = startSpeed;
}
public Motorbike(int seatNumber, int numberMade, int yearMade) {
this.seatNumber = 1;
this.numberMade = 5000;
this.yearMade= 2015;
this.topSpeed = 300;
}
}
这是我的主要课程:
package assignment2;
public class Assignment2 {
public static void main(String[] args) {
int Car;
Car = new Vehicle().seatNumber;
Car = new Vehicle().numberMade;
Car = new Vehicle().yearMade;
System.out.println(Car);
}
}
对于我的代码的任何帮助将不胜感激。谢谢!
编辑
是否在每个类中使用 ToString 方法进行覆盖?即。
package assignment2;
public class Car extends Vehicle {
public int topSpeed;
public Car (int startSpeed, //top speed
int startNumber, //number of seats
int startMade, //number made
int startYearMade) { //year made
super(startNumber,startMade, startYearMade);
topSpeed = startSpeed;
}
public Car(int seatNumber, int numberMade, int yearMade) {
this.seatNumber = seatNumber; //takes the value you pass as parameter
this.numberMade = numberMade; // and stores it into the instance variable
this.yearMade= yearMade;
this.topSpeed = 100;
}
@Override
public String toString(){
return Car.class.toString();
}
}
【问题讨论】:
-
要么逐个访问变量并以这种方式打印,要么覆盖所需类的
ToString并返回您要打印的内容 -
重写 toString 方法。
-
“我正在尝试实例化这些类,但不确定这涉及到什么”——实例化一个类意味着创建它的一个实例。喜欢
Car theCar = new Car();
标签: java class instantiation