Java子类、继承以及多态,定义一个车辆类Vehicle,由此产生两个子类,分别是Car和Bus,然后定义一个构造方法show来显示车辆的各自信息。

题目:

【问题描述】

(1)定义一个车辆类Vehicle, 它有两个数据成员Name和 Price,代表车辆的名字、价格, 定义一个构造方法Vehicle(String n, int p), 定义一个显示车辆信息的方法show()。

(2)从Vehicle派生一个轿车类Car,定义一个表示品牌的数据成员type,定义一个有三个参数的构造方法Car(String n, int p, int t), 改写showme()方法以便显示轿车的信息。

(3)从Vehicle派生一个客车类Bus,定义一个表示座位数的数据成员seat,定义一个有三个参数的构造方法Bus(String n, int p, int s), 改写showme()方法以便显示客车的信息。

(4)在main方法中定义一个Vehicle引用,并分别用Car和Bus构造方法来初始化v,分别用v调用showme()方法以实现多态性。

【输入形式】name price type (回车) name price seat (回车) 数据之间空格隔开

【输出形式】Car's name=?,Price=?,type=? (回车) Bus's name=?,Price=?,seat=? (回车)

代码:新手第一次写,有什么不好的多多指教哈!

import java.util.Scanner;
class Vehicle {
      String name;//两个成员变量
      int price;
    public Vehicle(String name,int price) {//又一次方法重写哦
        this.name=name;
        this.price=price;
    }
    public void show() {
        System.out.println(name);
        System.out.println(price);
    }
}
class Car extends Vehicle{
    String type;
    public Car(String name,int price,String type) {
        super(name, price);//super表示想引用被隐藏了的方法
        this.type=type;
    }
    public void show() {//方法重写
        System.out.print("Car's name="+name);
        System.out.print(",Price="+price);
        System.out.println(",type="+type);
    }
}
class Bus extends Vehicle{
    int seat;

    public Bus(String name,int price,int seat) {
        super(name, price);//同上哦
        this.seat=seat;
    }
    public void show() {//方法重写
        System.out.print("Bus's name="+name);
        System.out.print(",Price="+price);
        System.out.println(",seat="+seat);

    }
}
public class Test {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//输入数据,注意输入的数据要与对应变量的类型一致,否则会报错哦
        String CarName=sc.next();
        int CarPrice=sc.nextInt();
        String Type=sc.next();
        String BusName=sc.next();
        int BusPrice=sc.nextInt();
        int Seat=sc.nextInt();
        Car v1=new Car(CarName,CarPrice,Type);
        Bus v2=new Bus(BusName, BusPrice,Seat);
        v1.show();
        v2.show();
    }
}

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值