简单的继承使用案例2
(二)、写一个枪类(Gun),类中有属性:品种(进口枪还是国产枪)type,重量weight。还有一个开枪的方法(shoot),输出“开枪了”。两个子类是:
手枪类(HandGun):类中有属性品种,重量。还有一个开枪的方法,输出“XX品种的手枪,重XX公斤,一颗子弹打出去了”。
机枪类(machineGun):类中有属性品种,重量。还有一个开枪的方法,输出“XX品种的机枪,重XX公斤,一连串的子弹打出去了”。
测试类中定义一个枪的变量,用此变量记录一个手枪的对象,调用这把枪的开枪方法,注意观察输出的结果,是调用的枪的开枪方法,还是调用的手枪的开枪方法。再生成一把机枪的对象放入到这个枪的变量中去,又调用这把枪的开枪方法,观察结果。
(注意:把儿子当老子看后,调用的方法还是儿子的)
package com.lanxi.demo2;
public class Gun {
String type;
int weight;
public Gun(String type,int weight){
this.type=type;
this.weight=weight;
}
public void shoot(){
System.out.println("开枪了");
}
}
package com.lanxi.demo2;
public class HandGun extends Gun{
public HandGun(){
super("进口",10);
}
@Override
public void shoot() {
System.out.println(type+"品种的手枪,重"+weight+"公斤,一颗子弹打出去了");
}
}
package com.lanxi.demo2;
public class machineGun extends Gun{
public machineGun(){
super("国产",11);
}
@Override
public void shoot() {
System.out.println(type+"品种的机枪,重"+weight+"公斤,一连串的子弹打出去了");
}
}
package com.lanxi.demo2;
public class Test {
public static void main(String[] args) {
Gun gun=new Gun("国产",10);
gun.shoot();
Gun gun1=new HandGun();
gun1.shoot();
Gun gun2=new machineGun();
gun2.shoot();
}
}
时间最会骗人,但也能让你明白,这个世界上没有什么是不能失去的,留下的尽力珍惜,得不到的都不重要
浙公网安备 33010602011771号