7-3 定义一个车辆类和它的一个子类——客车类

本文描述了如何在Java中定义一个Vehicle类和其子类Bus,包括私有成员变量、构造方法和公有show方法的实现,以及在测试类Main中实例化并显示车辆和客车信息的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义一个车辆类(Vehicle)和它的一个子类——客车类(Bus),具体要求如下:

(1)车辆类Vehicle,定义如下成员:
① 两个成员变量:plateNo(车牌号,String类型)、wheelbase(轴距,int类型),要求访问权限均为private
② 一个公有的无参数的构造方法,方法体为空;
③ 一个公有的带2个参数的构造方法,在方法体中设置车辆的车牌号、轴距;
④ 一个公有的无参数的方法void show( ),该方法用于输出车辆的车牌号、轴距,输出共占2行,例如第1行类似于“车牌号:XXXXXXX”,具体格式看测试数据。

(2)客车类Bus,它是Vehicle的子类,定义如下成员:
① 成员变量:passengers(限载人数,int类型),要求访问权限为private
② 一个公有的无参数的构造方法,方法体为空;
③ 一个公有的带3个参数的构造方法,在方法体中设置客车的车牌号、轴距、限载人数;
④ 一个公有的无参数的方法void show( ),该方法用于输出客车的车牌号、轴距、限载人数,输出共占3行,例如第1行类似于“车牌号:XXXXX”,具体格式看测试数据。
提示:巧用super关键字,可调用父类的构造方法、成员方法。

(3) 测试类Main,在main方法中依次执行以下操作:

① 声明1个Vehicle类的对象objVehicle,构造方法所需的2个参数从键盘输入;

② 输出一行提示信息“车辆信息如下:”;

③ 调用show( )方法来输出objVehicle的车牌号、轴距信息;

④ 声明1个Bus类的对象objBus,构造方法所需的3个参数从键盘输入;

⑤ 输出一行提示信息“客车信息如下:”;

⑥ 调用show( )方法来输出objBus的车牌号、轴距、限载人数信息。

输入格式:

输入数据共2行。

第1行:车牌号字符串 轴距数值

第2行:车牌号字符串 轴距数值 限载人数数值

输出格式:

输出数据共7行。请注意提示信息和冒号为中文格式。

第1行:车辆信息如下:

第2行:车牌号:车牌号字符串

第3行:轴距:轴距数值

第4行:客车信息如下:

第5行:车牌号:车牌号字符串

第6行:轴距:轴距数值

第7行:限载人数:限载人数数值

输入样例:

在这里给出一组输入。例如:

测A12345 2650
测A67890 5955 35

输出样例:

在这里给出相应的输出。例如:

车辆信息如下:
车牌号:测A12345
轴距:2650
客车信息如下:
车牌号:测A67890
轴距:5955
限载人数:35

答案:

import java.util.*;
public class Main{

    public static void main(String args[]){

        Scanner shuru=new Scanner(System.in);
        Vehicle objVehicle=new Vehicle(shuru.next(),shuru.nextInt());
        System.out.println("车辆信息如下:");
        objVehicle.show();
        Bus objBus=new Bus(shuru.next(),shuru.nextInt(),shuru.nextInt());
        System.out.println("客车信息如下:");

        objBus.show();
    }
}
class Vehicle{
    private String plateNo;
    private int wheelbase;
    public  Vehicle(){

    }
    public  Vehicle( String plateNo,int wheelbase){
        this.plateNo=plateNo;
        this. wheelbase= wheelbase;
    }
    public void show(){
        System.out.println("车牌号:"+plateNo);
        System.out.println("轴距:"+wheelbase);
    }
}
class Bus extends Vehicle{
    private int passengers;
    public Bus(){

    }
    public Bus(String plateNo,int wheelbase,int passengers){
        super( plateNo, wheelbase);
        this.passengers=passengers;
    }
    public void show(){
        super.show();
        System.out.println("限载人数:"+passengers);
    }
}





 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值