1. 无返回值

在成员方法一小节中,我们提到过void标识表示无返回值,即我们并不需要声明return <some>语句。当然,我们也可以使用return;来表示不返回任何东西,当然我们并不建议采用这样的方式,多次一举,因为return;这一语句在run方法中永远不会被执行。

  1. public class Car {
  2. String brand;
  3. String color;
  4. public void run() {
  5. System.out.println(color + "-" + brand + " is running!");
  6. return;
  7. }
  8. public static void main(String[] args) {
  9. Car benz = new Car();
  10. benz.brand = "Benz";
  11. benz.color = "Red";
  12. benz.run();
  13. }
  14. }

2. 有返回值

前面介绍的成员方法是没有返回值的情况,接下来我们学习一下如何定义有返回值的成员方法。还是之前的例子,不过这次车辆启动之后,需要有信号告知我们车辆是正常启动还是发生了故障。

  1. import java.lang.Math;
  2. public class Car {
  3. String brand;
  4. String color;
  5. public boolean start() {
  6. double p = Math.random();
  7. return p > 0.5;
  8. }
  9. public static void main(String[] args) {
  10. Car benz = new Car();
  11. benz.brand = "Benz";
  12. benz.color = "Red";
  13. boolean flag = benz.start();
  14. if (flag) {
  15. System.out.println("The car has started!");
  16. } else {
  17. System.out.println("The car has been broken!");
  18. }
  19. }
  20. }

当然,对于上面高亮的代码行,我们采用if-else结构也是可以的:

  1. if (p > 0.5) {
  2. return true;
  3. } else {
  4. return false;
  5. }

这里我们通过return来返回对应的值,需要注意的是,所返回的值数据类型必须和成员方法定义的返回值类型一致