我想模拟射击。该枪有6发子弹。每次射击后,子弹的数量应减少。

这是代码

public interface Gun {
  public void shot();
  public void reload();
}


这是主要的:

package com.example;

class HelloCodiva {

  public static void main(String[] args) {
    Pistol pistol = new Pistol();
    Gun gun;
    gun = new Pistol();
    gun.shot();
    System.out.println(pistol.getBullets());
    gun.shot();
    gun.shot();
  }
}


class Pistol implements Gun {
  private int bullets;
  private int damage;
  private boolean reload;

  public Pistol () {
    this.bullets = 6;
    this.damage = 10;
  }

  @Override
  public void shot() {
      this.bullets-=1;
      System.out.println("Shotting");
  }

  @Override
  public void reload() {
      if(reload){
      System.out.println("Reloading...");
        reload = false;
      }

  }

  public int getBullets() {
    return bullets;
  }

}


但我总是得到相同的初始金额(6)。我做错了什么?

最佳答案

你是从

Gun gun;
    gun = new Pistol();


但算上子弹

Pistol pistol = new Pistol();
 System.out.println(pistol.getBullets());

关于java - 我可以在已实现的方法中执行哪些操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57240961/

10-10 13:08