(一)、写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight)。
再写两个子类:
红猪的类:类中有属性姓名(name),攻击力(attack),颜色(color)。红猪也有一个打人的方法(fight),要求在此方法中输出“XX猪是XX颜色的,打掉了人XX点血”。
蛇类:类中有属性姓名(name),有攻击力属性(attack),有几条脚属性(foot)。蛇也有一个打人的方法
(fight),要求在此方法中输出“XX蛇用XX条脚跑到人面前去打人,打掉了人XX点血”。
写一个测试类,生成一只红猪,调用此红猪的打人方法,观察结果。再生成一条蛇,调用此蛇的打人方法。
(注意:代码的重用,及方法重写带来的多态行为)
package monster;
public class Monster {
String name;
int attack;
public void fight(){
}
}
package monster;
public class Redpig extends Monster{
String a1=super.name="s";
int a2=super.attack=2;
String color="红色";
@Override
public void fight() {
// TODO Auto-generated method stub
System.out.println(a1+"猪是 "+color+"颜色的"+",打掉了人"+a2+"点血");
}
}
package monster;
public class se extends Monster{
int foot=10;
String a1=super.name="se";
int a2=super.attack=112;
String color="红色";
public void fight() {
// TODO Auto-generated method stub
System.out.println(a1+"蛇用 "+foot+"条脚到人面前去打人,"+",打掉了人"+a2+"点血");
}
}
package monster;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Redpig pig=new Redpig();
pig.fight();
se ss=new se();
ss.fight();
}
}
(二)、写一个枪类(Gun),类中有属性:品种(进口枪还是国产枪)type,重量weight。还有一个开枪的方法(shoot),输出“开枪了”。两个子类是:
手枪类(HandGun):类中有属性品种,重量。还有一个开枪的方法,输出“XX品种的手枪,重XX公斤,一颗子弹打出去了”。
机枪类(machineGun):类中有属性品种,重量。还有一个开枪的方法,输出“XX品种的机枪,重XX公斤,一连串的子弹打出去了”。
测试类中定义一个枪的变量,用此变量记录一个手枪的对象,调用这把枪的开枪方法,注意观察输出的结果,是调用的枪的开枪方法,还是调用的手枪的开枪方法。再生成一把机枪的对象放入到这个枪的变量中去,又调用这把枪的开枪方法,观察结果。
(注意:把儿子当老子看后,调用的方法还是儿子的)
package weaoan;
public class Bullen extends Weapen{
public Bullen() {
super();
super.Power=100.2;
super.speed=2222;
this.type="机枪子弹";
// TODO Auto-generated constructor stub
}
private String type;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public void Attack(){
System.out.println("我是"+getType()+", 速度"+this.speed+",攻击力"+super.Power);
}
}
package weaoan;
public class Tank extends Weapen {
private String dir;
public Tank() {
super();
super.Power=100.32;
super.speed=10000;
this.dir="上";
// TODO Auto-generated constructor stub
}
public String getDir() {
return dir;
}
public void setDir(String dir) {
this.dir = dir;
}
public void Attack(){
System.out.println("我是坦克,向"+getDir()+"方向运动,速度"+this.speed+",攻击力"+super.Power);
}
}
package weaoan;
public class Weapen {
double Power;
double speed;
public Weapen() {
// TODO Auto-generated constructor stub
}
}
package weaoan;
public class Text {
public static void main(String[] args) {
Tank tk=new Tank();
tk.Attack();
Bullen Bl=new Bullen();
Bl.Attack();
}
}
【网易自营|30天无忧退货】仅售同款价1/4!MUJI制造商“冬季舒适家居拖鞋系列”限时仅39元>>
body { font-size: 14px; font-family: arial, verdana, sans-serif; line-height: 1.666; padding: 0; margin: 0; overflow: auto; white-space: normal; min-height: 100px }
td,input,button,select,body { font-family: Helvetica, "Microsoft Yahei", verdana }
pre { white-space: -o-pre-wrap; width: 95% }
th,td { font-family: arial, verdana, sans-serif; line-height: 1.666 }
img { border: 0 }
header,footer,section,aside,article,nav,hgroup,figure,figcaption { display: block }
blockquote { margin-right: 0px }
a,td a { color: #0080c0 }
原文地址:https://www.cnblogs.com/www-hsy-com/p/8111645.html