java交通工具的类继承代码_Java作业-交通工具继承

目标效果:

Fgo8y7nddhwJ9qBiJsJyImv9uJZR

Test.java类:

package bzu.bb;

import bzu.aa.Car;

/**

–在包bzu.aa中定义一个交通工具类(Vehicle):

属性——载客量(capacity)

方法

无参构造方法(给capacity初始化值为2,并输出“执行交通工具类的无参构造方法。”)

有参构造方法(传参给capacity初始化,并输出“执行交通工具的有参构造方法。”)

capacity的set、get方法

print方法:输出capacity

–在包bzu.aa中定义一个汽车类(Car)继承交通工具类:

属性——speed

方法

无参构造方法(给speed初始化值为0,并输出“执行汽车类的无参构造方法。”)

有参构造方法(用super关键字调用父类的有参构造方法,传参给speed初始化,并输出“执行汽车类的有参构造方法。”)

加速(speedup):speed+10并返回speed;

减速(speeddown):speed-15并返回speed;

重写print方法:输出speed和capacity。

–在包bzu.bb中定义一个final的公交车类(Bus),继承汽车类:

属性——载客量(capacity)

方法

无参构造方法(给capacity初始化值为20,并输出“执行公交车类的无参构造方法。”)

有参构造方法(用super关键字调用父类的有参构造方法,传参给capacity初始化,并输出“执行公交车类的有参构造方法。”)

重写print方法:输出speed、 capacity及父类的capacity。

–在包bzu.bb中编写一个主类Test:

主函数

调用无参构造方法创建一个Car的对象car;调用加速方法将速度加至50,调用print方法;调用减速方法,将速度减至20,调用print方法。

调用有参构造方法创建一个Bus的对象bus;调用print方法。

* @author Vivinia

*

* 2017年10月14日

*/

public class Test {

public static void main(String[] args) {

Car car=new Car();

int speed=0;

for(speed=car.speedup();speed<50;) {

speed=car.speedup();

}

car.print();

for(speed=car.speedDown();speed>20;) {

speed=car.speedDown();

}

car.print();

Bus bus=new Bus(25);

bus.print();

}

}

Vehicle.java类:

package bzu.aa;

public class Vehicle {

protected int capacity;

public Vehicle() {

capacity = 2;

System.out.println("执行交通工具类的无参构造方法。");

}

public Vehicle(int capacity) {

super();

this.capacity = capacity;

System.out.println("执行交通工具类的有参构造方法。");

}

public int getCapacity() {

return capacity;

}

public void setCapacity(int capacity) {

this.capacity = capacity;

}

public void print(){

System.out.println("Vehicle类:capacity:"+capacity);

}

}

Car.java类:

package bzu.aa;

public class Car extends Vehicle{

protected int speed;

public Car(){

speed=0;

System.out.println("执行汽车类的无参构造方法。");

}

public Car(int speed) {

super();

this.speed = speed;

System.out.println("执行汽车类的有参构造方法。");

}

public int speedup(){

speed+=10;

return speed;

}

public int speedDown() {

speed-=15;

return speed;

}

@Override

public void print() {

super.print();

System.out.println("Car类:speed:"+speed+",capacity:"+capacity);

}

}

Bus.java类:

package bzu.bb;

import bzu.aa.Car;

public final class Bus extends Car{

int capacity;

public Bus() {

capacity=20;

System.out.println("执行公交车类的无参构造方法。");

}

public Bus(int capacity) {

super();

this.capacity=capacity;

System.out.println("执行公交车类的有参构造方法。");

}

@Override

public void print() {

super.print();

System.out.println("Bus类:speed:"+super.speed+",capacity:"+capacity+",父类apacity:"+super.capacity);

}

}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java继承机制,让Boat既拥有物品的属性和方法,又拥有交通工具的属性和方法。具体代码如下: ```java public class Boat extends Item implements Transport { // 继承Item,实现Transport接口 // 物品的属性和方法 private double weight; private String name; public Boat(double weight, String name) { this.weight = weight; this.name = name; } public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } public String getName() { return name; } public void setName(String name) { this.name = name; } // 交通工具的属性和方法 private int speed; private int maxPassengers; public int getSpeed() { return speed; } public void setSpeed(int speed) { this.speed = speed; } public int getMaxPassengers() { return maxPassengers; } public void setMaxPassengers(int maxPassengers) { this.maxPassengers = maxPassengers; } @Override public void drive() { System.out.println("Boat is driving."); } @Override public void stop() { System.out.println("Boat has stopped."); } } ``` 在上面的代码中,我们定义了一个名为Boat的,该继承了Item,实现了Transport接口。因此,Boat拥有了Item的属性和方法,也拥有了Transport接口的属性和方法。在Boat中,我们定义了物品的属性和方法,如重量和名称,在构造函数中进行初始化。同时,我们也定义了交通工具的属性和方法,如速度和最大乘客数,并实现了Transport接口中的drive()和stop()方法。这样,我们就成功地让Boat既是物品,又是交通工具了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值