[英]Java Static constructor not working
这是我的代码
class Bomb {
static String description = "bomb description";
static int id = 1;
private String name;
private int size;
public static void Bomb() {
id++;
System.out.println(" " + description + " " + id);
}
public void setName(String name) {
this.name = name;
}
public void setSize(int size) {
this.size = size;
}
public void printout() {
System.out.println(" " + name + size);
}
}
public class array {
public static void main(String args[]) {
Bomb.Bomb();
Bomb detenator = new Bomb();
Bomb destroyer = new Bomb();
destroyer.setName("hr4");
destroyer.setSize(43);
detenator.setName("m1s");
detenator.setSize(34);
detenator.printout();
destroyer.printout();
}
}
我希望描述与每个炸弹对象一起打印。 但描述会自行打印。 任何人都知道如何解决这个问题? 还请建议我可以编写此代码的任何替代方法,但不要让它变得复杂。 我刚开始学习java,所以我可能不会理解复杂的东西。
你对构造函数的定义完全搞砸了。
正如@Reut Sharabani 提到的,没有像静态构造函数这样的东西。 您正在使用构造函数来启动类的对象。 而静态让您只需调用ClassName.staticMethod()
就可以使用方法,而无需创建类的对象(一个排除另一个)。 如果静态构造函数存在,您将能够编写类似ClassName.ClassName()
类的东西,这没有任何意义。
构造函数不返回任何值,因此将它们声明为 void 是一个错误。 构造函数再次用于使用某些值(但不必要)初始化您的对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.