//class Test
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
Vehicle v = new Vehicle();
System.out.println(v.toString());
Car c = new Car();
System.out.println(c.toString());
int speed,whl;
String clo;
clo = scanner.next();
speed = scanner.nextInt();
whl = scanner.nextInt();
c.setColor(clo);
c.setSpeed(speed);
c.setNbWheels(whl);
System.out.println(c.toString());
/*
*
* isMove()函数是Car类的父类所拥有的方法成员。
* Car类通过对Vehicle类的继承,可以直接通过Car类的对象引用来对isMove()方法调用。
*
*/
if(c.isMove()){
System.out.println("This car is moving");
}
else System.out.println("This car is not moving");
//该for循环是为了验证decelerate()和isMove()的方法的
for(int i = 0; i<10; i++)
c.decelerate();
if(c.isMove()){
System.out.println("This car is moving");
}
else
System.out.println("This car is not moving");
}
}
//class Car
//Accelerate: speed = speed + 1;
//Decelerare: speed = speed - 1;
public class Car extends Vehicle {
private int nbWheels;
public Car(){
System.out.println("I am a car");
}
public String toString(){
return "I am a " + super.getColor() + " car,speed: "+ super.getSpeed()
+". And my nbWheels are "+nbWheels;
}
public int getNbWheels() {
return nbWheels;
}
public void setNbWheels(int nbWheels) {
this.nbWheels = nbWheels;
}
}
//class Vehicle
public class Vehicle {
private int speed;
private String color;
public Vehicle(){
System.out.println("I am a Vehicle");
speed = 0;
color = "blue";
}
public void accelerate(){
speed ++;
}
public void decelerate(){
if(getSpeed() >= 1)
speed --;
}
public boolean isMove(){
if(getSpeed() > 0)
return true;
return false;
}
public String toString(){
return "I am a "+color+" vehicle and my current speed is " + speed;
}
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}