– 在包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 {
public 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 int speed; public Car(){ speed=0; System.out.println("执行汽车类的无参构造方法。"); } public Car(int capacity,int speed ){ super(capacity); this.speed=speed; System.out.println("执行汽车类的有参构造方法。"); } public int speedup() { speed=speed+10; return speed; } public int speeddown() { speed=speed-15; return speed; } public void print() { System.out.println("交通工具类的载客量:"+capacity); System.out.println("汽车的速度:"+speed); } }
package bzu.bb; import bzu.aa.Car; public final class Bus extends Car { int capacity; Bus() { capacity=20 ; System.out.println("执行公交车类的无参构造方法。"); } Bus(int capacity) { capacity=super.getCapacity(); System.out.println("执行公交车类的有参构造方法。"); } public void print() { System.out.println("汽车的速度:"+super.speed); System.out.println("汽车的载客量:"+super.capacity); System.out.println("公交车的载客量:"+capacity); } }
package bzu.bb; import bzu.aa.Car; public class Test { public static void main(String[] args) { Car car=new Car();// TODO Auto-generated method stub car.speed=40; int ss; ss=car.speedup(); car.print(); car.speed=35; int pp; pp=car.speeddown(); car.print(); Bus bus=new Bus(); bus.print(); } }