另一个类中的Java调用方法

另一个类中的Java调用方法,java,Java,我正在尝试创建一个Java类,其中包含一定数量的比萨饼,数量会减少 如果有人偷了它 我有两节课 比萨饼的教室 public class House { private static int totalPizzas; public House() { totalPizzas = totalPizzas; } public int getTotalPizzas() { return totalPizzas; } p

我正在尝试创建一个Java类,其中包含一定数量的比萨饼,数量会减少

如果有人偷了它

我有两节课

比萨饼的教室

public class House {
    private static int totalPizzas;

    public House() {
        totalPizzas = totalPizzas;
    }

    public int getTotalPizzas() {
        return totalPizzas;
    }

    public static void setTotalPizzas(int totalPizzas) {
        totalPizzas = totalPizzas - Thief.stealPizza(House stolenPizza);
    }    
}
还有偷比萨饼的小偷

public class Thief {
    private String name;
    private int age;

    public Thief() {
        name = "abc";
        age = 11;
    }

    public static void stealPizza(House stolenPizza) {
        ??????? 
    }   
} 
我主要关心的是什么???????我觉得我应该把斯托伦比萨饼定下来

整数但是

stolenPizza = 1;
当然不行

有人能给我一些建议,我应该如何处理这个问题吗


非常感谢您的阅读。

一种方法是:

 public class Thief {
        private String name;
        private int age;

        public Thief() {
            name = "abc";
            age = 11;
        }

        public static void stealPizza() {
           House.setTotalPizzas(House.totalPizzas - 1);
        }   
    }


public class House {
   private static int totalPizzas;

   public House() {
       totalPizzas = totalPizzas;
   }

   public int getTotalPizzas() {
       return totalPizzas;
   }

   public static void setTotalPizzas(int totalPizzas) {
       House.totalPizzas = totalPizzas;
   }    
}

如果我正确理解您的代码,则您的构造函数缺少某些内容:

你的代码

 public House() {
            totalPizzas = totalPizzas;
 }
将在自身上设置totalPizzas的数量,而不为其指定任何实际整数值。试一试

 public House(int totalPizzas) {
            totalPizzas = totalPizzas;
 }
因此,在调用构造函数时,您实际上可以为房子分配多个比萨饼,例如:

House house = new House (12);

如果你想在家里有12个比萨饼。

制作一个主类,其中包含两个类的对象。除了mainStepher之外,您可能不需要任何静态方法。stealPizzaHouse stolenPizza不是方法调用的有效语法。你不能调用一个返回void的方法作为算术表达式的一部分,这其中有些方法是静态的,这是有原因的吗?尽管静态方法毫无意义。我可以看到它的值。这所房子和小偷没有关系。如果小偷想偷珠宝怎么办?他们捐赠了什么比萨饼?一个更好的选择可能是创建一个单例来管理比萨饼数量,但同样,这只是一种方法。此外,如果没有更多的上下文,谁会说这不是正确的选择;更不用说提出一种新的方法了。对于小偷来说,也许假设只有一个小偷,但对于房子来说就不一样了。小偷可以从多个家里偷比萨饼你知道有多个家吗?也许这是一家比萨饼店。很公平,但getter不也应该是静态的吗?