另一个类中的Java调用方法
我正在尝试创建一个Java类,其中包含一定数量的比萨饼,数量会减少 如果有人偷了它 我有两节课 比萨饼的教室另一个类中的Java调用方法,java,Java,我正在尝试创建一个Java类,其中包含一定数量的比萨饼,数量会减少 如果有人偷了它 我有两节课 比萨饼的教室 public class House { private static int totalPizzas; public House() { totalPizzas = totalPizzas; } public int getTotalPizzas() { return totalPizzas; } p
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不也应该是静态的吗?