Lesson 3 上机练习题——继承
来源:互联网 发布:cnc数控编程好学吗 编辑:程序博客网 时间:2024/05/21 11:17
课堂练习:
– 在包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 Vehicle { protected int capacity; public Vehicle(){ capacity=2; System.out.println("执行交通工具类的无参构造方法"); } public Vehicle(int capacity){ this.capacity=capacity; System.out.println("执行交通工具类的无参构造方法"); } public void setCapacity(int capacity){ this.capacity=capacity; } public int getCapacity(){ return capacity; } public void print(){ System.out.println("载客量的值为:"+capacity); }}
package bzu.aa;public class Car extends Vehicle {public double speed;public Car(){double speed=0;System.out.println("执行汽车类的无参构造方法");}public Car(double speed,int capacity){super(capacity);this.speed=speed;System.out.println("执行汽车类的无参构造方法");}public double speedUP(){return speed+=10;}public double speedDown(){return speed-=15;}public void print(){System.out.println("载客量的值为:"+capacity+"速度的值为:"+speed); } }
package bzu.bb;import bzu.aa.Car;public final class Bus extends Car {final int capacity;Bus(){capacity=20;System.out.println("执行公交车类的无参构造方法");}Bus(int capacity){capacity=super.getCapacity();this.capacity=capacity;System.out.println("执行公交车类的无参构造方法");}public void print(){System.out.println("载客量的值为:"+capacity+"速度的值为:"+speed);System.out.println("父类载客量的值为:"+super.capacity);}}
package bzu.bb;import bzu.aa.Car;public class Test {public static void main (String args[]){Car car=new Car();car.speed=55;car.speedUP();car.print();car.speed=45;car.speedDown();car.print();Bus bus=new Bus();bus.print();}}
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- Lesson 3 上机练习题——继承
- 第七周作业:Lesson 3 上机练习题——继承
- 上机练习题—继承
- statement发生的错误
- elasticsearch配置文件详解
- 技术溢出效应 Technology spillover effect
- Fiddler上配置windiff
- maven项目修改名称
- Lesson 3 上机练习题——继承
- iOS推送问题(最新)
- Angular入门-装饰器
- JS武器库,常用js函数(转)
- 修改maven项目本地的端口
- 在jupyter中不显示数据框的索引
- MYSQL数据库,时分秒的时间,按天分组
- 1142 面向对象程序设计上机练习三(有默认参数的函数)
- android从代码到apk的编译过程