Java 如何使一种方法更改另一种方法';s返回语句(布尔)
我想编写一个方法来更改另一个方法的return语句。例如,我有3种方法:Java 如何使一种方法更改另一种方法';s返回语句(布尔),java,Java,我想编写一个方法来更改另一个方法的return语句。例如,我有3种方法: openCar closeCar isTheCarOpen:boolean 因此,如果用户调用方法openCar,然后调用方法isTheCarOpen,它应该返回true public void openCar(){ System.out.println(“汽车已打开”); } 公共车辆{ System.out.println(“汽车已关闭”); } 公共布尔值isTheCarOpen(){ 返回false; } 您不会
openCar
closeCar
isTheCarOpen:boolean
因此,如果用户调用方法openCar
,然后调用方法isTheCarOpen
,它应该返回true
public void openCar(){
System.out.println(“汽车已打开”);
}
公共车辆{
System.out.println(“汽车已关闭”);
}
公共布尔值isTheCarOpen(){
返回false;
}
您不会更改return语句。您可以更改方法返回的内容。在本例中,您希望在类中有一个表示门状态的布尔值(我们称之为doorOpened
),并且在调用openCar
和closeCar
方法时设置其值
class Car {
private boolean doorOpened;
public void openCar() {
doorOpened = true;
System.out.println("Car has been opened");
}
public void closeCar() {
doorOpened = false;
System.out.println("Car has been closed");
}
public boolean isTheCarOpen() {
return doorOpened;
}
}
简单:将字段添加到封闭类中,如:
public class Car {
private boolean doorOpen = false;
public boolean isDoorOpen() {
return doorOpen;
}
现在你的不同方法都可以用了
换句话说:不是对该方法的结果进行硬编码,而是将其“指向”到周围类的某个“内部状态”。在本例中,您可能还有一个方法,如
public void openDoors() {
doorOpen = true;
}
使外部世界能够操纵该状态。使用适当的getter/setter在您自己的类中创建字段:
public class Car {
private boolean carOpen;
public void openCar() {
System.out.println("Car has been opened");
setCarOpen(true);
}
public void closeCar() {
System.out.println("Car has been closed");
setCarOpen(false);
}
public boolean isTheCarOpen() {
return carOpen;
}
public void setCarOpen(boolean carOpen){
this.carOpen = carOpen;
}
}
仅供参考,
布尔值
在声明时默认为false。不需要在构造函数中初始化它。谢谢你,费德里科!我尝试了很多方法来解决这个问题,但都失败了。不客气:)不管你用什么教程/书来学习Java,把它扔掉吧。这显然没有正确地教导你。或者您跳过了一些章节:如果方法明显不正确,那么PWhy是carOpen
声明的静态的
?
boolean carOpen = false;
public void openCar() {
carOpen = true;
}
public void closeCar() {
carOpen = false;
}
public boolean isDoorOpen() {
return carOpen;
}