Weapon.java

import java.util.List;

public class Weapon {
    private String weaponName;

    private int weaponType;

    public Weapon(){
        p("执行Weapon构造器方法");
    }

    public void fire(List<Bullet> bullets){
        if(bullets.size() > 0){
            bullets.remove(0);
        }
    }

    public String getWeaponName() {
        p("执行getWeaponName方法");
        return weaponName;
    }

    public void setWeaponName(String weaponName) {
        p("执行setWeaponName方法");
        this.weaponName = weaponName;
    }



    public int getWeaponType() {
        p("执行getWeaponType方法");
        return weaponType;
    }

    public void setWeaponType(int weaponType) {
        p("执行setWeaponType方法");
        this.weaponType = weaponType;
    }

    public void p(Object o){
        System.out.println(o);
    }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用 Java 语言编写的满足以上要求的应用程序的示例代码: Zombie.java ```java package zombie; public abstract class Zombie { protected String name; protected int health; public Zombie(String name, int health) { this.name = name; this.health = health; } public String getName() { return name; } public int getHealth() { return health; } public abstract void move(); public abstract void attack(); } ``` SlowZombie.java ```java package zombie; public class SlowZombie extends Zombie { public SlowZombie(String name, int health) { super(name, health); } @Override public void move() { System.out.println(name + " is moving slowly"); } @Override public void attack() { System.out.println(name + " is attacking with bite"); } } ``` FastZombie.java ```java package zombie; public class FastZombie extends Zombie { public FastZombie(String name, int health) { super(name, health); } @Override public void move() { System.out.println(name + " is moving quickly"); } @Override public void attack() { System.out.println(name + " is attacking with claws"); } } ``` Weapon.java ```java package weapon; public interface Weapon { void fire(); void throwBomb(); } ``` Gun.java ```java package weapon; public class Gun implements Weapon { @Override public void fire() { System.out.println("Firing gun"); } @Override public void throwBomb() { System.out.println("Cannot throw bomb with gun"); } } ``` Bomb.java ```java package weapon; public class Bomb implements Weapon { @Override public void fire() { System.out.println("Cannot fire bomb"); } @Override public void throwBomb() { System.out.println("Throwing bomb"); } } ``` Main.java ```java import java.util.Scanner; import weapon.Weapon; import weapon.Gun; import weapon.Bomb; import zombie.Zombie; import zombie.SlowZombie; import zombie.FastZombie; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Choose your weapon:"); System.out.println("1. Gun"); System.out.println("2. Bomb"); System.out.print("Enter your choice: "); int choice = scanner.nextInt(); Weapon weapon; switch (choice) { case 1: weapon = new Gun(); break; case 2: weapon = new Bomb(); break; default: System.out.println("Invalid choice"); return; } System.out.println("Choose your zombie:"); System.out.println("1. Slow zombie"); System.out.println("2. Fast zombie"); System.out.print("Enter your choice: "); choice = scanner.nextInt(); Zombie zombie; switch (choice) { case 1: zombie = new SlowZombie("Slow Zombie", 100); break; case 2: zombie = new FastZombie("Fast Zombie", 150); break; default: System.out.println("Invalid choice"); return; } weapon.fire(); weapon.throwBomb(); zombie.move(); zombie.attack(); } } ``` 这个应用程序包含了一个 Zombie 抽象类和两个子类 SlowZombie 和 FastZombie。每个子类都实现了 move() 和 attack() 方法,但实现方式不同。 此外,还有一个 Weapon 接口和两个具体的实现类 Gun 和 Bomb。每个实现类都实现了 fire() 和 throwBomb() 方法,但实现方式不同。 最后,我们使用 Scanner 类从命令行接收用户输入,选择不同的武器和僵尸,并调用它们的方法。 希望这个示例代码对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值