import java.util.Random;
abstract class Ultraman{//定义抽象类
public abstract void skill();//定义抽象方法:技能
}
//重写了三个类
class Jack extends Ultraman{//初代继承奥特曼
@Override
public void skill() {
System.out.println("斯卑休姆光线");
}
}
class Seven extends Ultraman{//赛文继承奥塔曼
@Override
public void skill() {
System.out.println("艾梅利姆光线"); //重写方法
}
}
class Ace extends Ultraman{//艾斯继承奥特曼
@Override
public void skill() {
System.out.println("梅塔利姆光线");
}
}
public class UltramanDemo{
public Ultraman createmonster(){
Random rand=new Random();
int i=rand.nextInt(3);
Ultraman n=null;//选择的结果赋给S
switch(i){
case 0:
n=new Jack();
break;
case 1:
n=new Seven();
break;
case 2:
n=new Ace();
break;
}
return n;
}
public static void main(String[] args) {
UltramanDemo demo=new UltramanDemo();
Ultraman[] ultramans=new Ultraman[6];//要生成六个随机数
for (int i=0;i<ultramans.length;i++){
ultramans[i]=demo.createmonster();
}
for(int i=0;i<ultramans.length;i++){
ultramans[i].skill();
}
}
}
抽象继承
最新推荐文章于 2022-04-13 18:20:05 发布