• 作业-继承


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

    n  属性——载客量(capacity)

    n  方法

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

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

    u  capacity的set、get方法

    u  print方法:输出capacity

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

    n  属性——speed

    n  方法

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

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

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

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

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

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

    n  属性——载客量(capacity)<变量隐藏>

    n  方法

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

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

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

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

    n  主函数

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

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

    主类:

    package bzu.aa;
    public class Test {
    public static void main(String[] args) {
     System.out.println("car:");
     Car car=new Car();
     int speed=car.speedUp();
     while(speed<50) {
      speed=car.speedUp();
     }
     car.print();
     while(speed>20) {
      speed=car.speedDown();
     }
     car.print();
     System.out.println("bus:");
     Bus bus=new Bus(20);
     bus.print();
     
    }
    }
     
    Vehicle类:
    package bzu.aa;
    public class Vehicle {
     int capacity;
    public Vehicle() {
     capacity=2;
     System.out.println("执行交通工具类的无参构造方法");
     }
    public Vehicle(int capacity) {
     this.capacity=capacity;
     System.out.println("执行交通工具的有参构造方法");
    }
    public int getCapacity() {
     return capacity;
    }
    public void setCapacity(int capacity) {
     this.capacity = capacity;
    }
     public void printfcapacity() {
      System.out.println("载客量"+capacity);
      }
    }
    car类:
    package bzu.aa;
    public class Car extends Vehicle {
     int speed;
    public Car() {
     speed=0;
     System.out.println("执行汽车类的无参构造方法。");
    }
    public Car(int speed,int capacity) {
     super(capacity);
     this.speed=speed;
     System.out.println("执行汽车类的有参构造方法。");
    }
    public int speedUp () {
     speed+=10;
     return speed;
    }
    public int speedDown() {
     speed-=15;
     return speed;
    }
    public void print() {
     System.out.println("速度"+speed+"载客量"+capacity);
     }
    }
    bus类:
    package bzu.aa;
    public class Bus extends Car{
     int capacity;
     Bus() {
            capacity = 20;
            System.out.println("执行公交车类的无参构造方法。");
        }
        Bus(int capacity) {
            super();
            this.capacity = capacity;
            System.out.println("执行公交车类的有参构造方法。");
        }
        public void print() {
            System.out.println("速度:" + super.speed  + "载客量:" + capacity+ "父类载客量:" + super.capacity);
        }
    }
  • 相关阅读:
    HTTP协议入门
    TCP/IP的分层管理
    TCP与UDP
    如何处理某个Web页面的HTTP请求
    AGC005D ~K Perm Counting
    “玲珑杯” 线上赛Round #17 B 震惊,99%+的中国人都会算错的问题
    bzoj4455 [Zjoi2016]小星星
    AGC010F Tree Game
    AGC016E Poor Turkeys
    AGC003E Sequential operations on Sequence
  • 原文地址:https://www.cnblogs.com/spsglz/p/8017920.html
Copyright © 2020-2023  润新知