Lesson 3 上机练习题——继承
来源:互联网 发布:淘宝上苹果促销代码 编辑:程序博客网 时间:2024/05/21 09:23
题目:
– 在包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;//AA包public class Vehicle {publicint capacity;//设为public变量,否则在bb包中子类不能继承。Vehicle()//无参构造{capacity=2;System.out.println("执行交通工具类的无参构造方法。");}Vehicle(int capacity)//有参构造{this.capacity=capacity;System.out.println("执行交通工具类的有参构造方法。");}public void setcapacity(int a)//设定座位{capacity=a;}public int getcapacity()//得到座位{return capacity;}public void println()//输出{System.out.println("capacity :"+capacity);}}
package bzu.aa;public class Car extends Vehicle {//子类publicint speed;publicCar()//若不为public,另外包中的子类不能继承。从而不能构造父类。 { speed=0; System.out.println("执行汽车类的无参构造方法。"); }publicCar(int speed) {super(5); this.speed=speed; System.out.println("执行汽车类的有参构造方法。"); } public int speedup() { speed=speed+10; return speed; } public int speedDown() { speed=speed-15; return speed; } public void println()//输出{System.out.println("Car capacity :"+capacity);System.out.println("Car speed :"+speed);}}
package bzu.bb;import bzu.aa.*;public final class Bus extends Car{int capacity;//变量隐藏Bus(){capacity=20;System.out.println("执行公交车类的无参构造方法。");}publicBus(int capacity) {super(0); this.capacity=capacity; System.out.println("执行公交车类的有参构造方法。"); }public void println()//输出{System.out.println("Car capacity :"+super.capacity);System.out.println("Bus capacity :"+capacity);System.out.println("speed :"+speed);}}
package bzu.bb;import java.util.*;import bzu.aa.*;public class Test {public static void main(String[] args) {Car car=new Car();//初始化,无参car.speedup();//加速car.speedup();car.speedup();car.speedup();car.speedup();System.out.println("加速后");car.println();//输出car.speedDown();//减速car.speedDown();System.out.println("减速后");car.println();//输出Bus bus =new Bus(30);bus.println();}}
结果:
总结:注意:1、子类与父类不在同一个包中,除了引用父类所在的包中的类外,还需要给父类中的变量与方法添加public或protected,否则子类没有权限访问父类。
2、变量隐藏后,利用super仍可继续调用父类的变量。3、final类不能被继承,没有子类。
- 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 上机练习题——继承
- 上机练习题—继承
- Response
- bzoj 2159: Crash 的文明世界
- Zookeeper自定义日志目录
- ThinkPHP小结2
- 毕向东讲解(摘)—8.静态同步函数
- Lesson 3 上机练习题——继承
- 超级强大的vim配置(vimplus)
- NSArray/NSMutableArray创建,获取,遍历,排序
- 爬取百度贴吧楼层信息实战代码
- centos7安装elasticsearch
- php 根据省市区来划分区域权限
- shiro认证源码
- Session踢人管理
- the unpack error when I push my modification to the Gerrit