【问题标题】:How do i pass a boolean into a new object?如何将布尔值传递给新对象?
【发布时间】:2015-12-22 16:11:09
【问题描述】:
public class Clown {
    boolean standing = false;

    public Clown(boolean standing) { 
        Clown clown = new Clown(standing);
    }

我想用传入的布尔值创建一个新的 Clown 对象,但每次运行时都会出现堆栈溢出错误。我该如何解决这个问题?

【问题讨论】:

  • lametaweb 的解决方案是正确的。如果您想知道为什么会出现堆栈溢出异常,请考虑每次调用 Clown(boolean) 时,它都会依次调用自己。

标签: java object constructor boolean


【解决方案1】:

您获得了StackOverflow Exception,因为当您从自身调用构造函数时,您正在执行“递归”调用。

做:

public class Clown {

  boolean standing;

  public Clown(boolean standing) {
      this.standing  = standing;
  }

然后从某个类的某个方法创建Object

Clown clown = new Clown(standing);

【讨论】:

  • 在构造函数之外创建对象 --显然 OP 错过了;这可能是一个重要的亮点
猜你喜欢
  • 2012-10-06
  • 2021-10-29
  • 1970-01-01
  • 2016-10-24
  • 2020-01-10
  • 1970-01-01
  • 2015-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多