gpt4 book ai didi

java - 运行 Java 中所有方法的正确构造函数

转载 作者:行者123 更新时间:2023-11-30 02:24:21 30 4
gpt4 key购买 nike

我有这个类,需要知道创建一个可以立即使用其所有方法而不会出错的对象需要哪个构造函数

public class Robot {
private boolean fuelEmpty = true;
private int roboID;
private String greeting;
private String securityProtocol;

//insert robot constructor here

public void destroyAllHumans(){
while (fuelEmpty == false) {
//robot begins to destroy all humans
}
}
public int getRoboID(){
return roboID;
}
public void greet(){
System.out.println(greeting);
}
public void setSecurityProtocol(String proto){
securityProtocol = proto;
}
}

例如应如下所示:

public Robot(int id, String greet) {
roboID = id;
greeting = greet;
}

或者这个:

public Robot(int id, String greet) {
roboID = id;
greeting = greet;
fuelEmpty = false;
}

或者:

public Robot(boolean full, int id, String greet, String proto) {
roboID = id;
greeting = greet;
fuelEmpty = full;
securityProtocol = proto;
}

需要其中哪一个(或其他不同的东西)才能使所有其他方法都可以无错误地运行?

最佳答案

你可以根据需要重载构造函数,重要的是创建新对象后,该对象将被正确实例化...

一种方法可以是:

public Robot() {
this(false, 0, "", "");
}

public Robot(int id) {
this(false, id, "", "");
}

public Robot(boolean fuelEmpty, int roboID, String greeting, String securityProtocol) {
this.fuelEmpty = fuelEmpty;
this.roboID = roboID;
this.greeting = greeting;
this.securityProtocol = securityProtocol;
}

所以看看所有其他构造函数最后如何在内部调用

public Robot(boolean fuelEmpty, int roboID, String greeting, String securityProtocol) 

这将向您保证,无论调用哪个构造函数,机器人都会完全创建,并且可以调用所有这些方法而不会崩溃

关于java - 运行 Java 中所有方法的正确构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46058148/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com