繁体   English   中英

如何使一个方法更改另一个方法的return语句(布尔值)

[英]How to make a method change another method's return statement (boolean)

我想编写一个更改其他方法的return语句的方法。 例如,我有3种方法:

openCar
closeCar
isTheCarOpen:boolean

因此,如果用户调用openCar方法,然后调用isTheCarOpen方法,则应返回true

    public void openCar() {
        System.out.println("Car has been opened");
    }

    public void closeCar() {
        System.out.println("Car has been closed");

    }

    public boolean isTheCarOpen() {
        return false;
    }

您无需更改return语句。 您更改方法返回的内容。 在您的情况下,您需要在表示门状态的类中具有一个布尔值(让我们将其doorOpened ),并在调用openCarcloseCar方法时设置其值。

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;
  }

使外界能够操纵那个国家。

在您自己的班级中使用适当的获取器/设置器创建字段:

 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;
     }
 }
boolean carOpen = false;
public void openCar() {
     carOpen = true;
}
public void closeCar() {
     carOpen = false;
}
public boolean isDoorOpen() {
     return carOpen;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM