java - 在类中将关键字 this 与多个构造函数一起使用

标签 java this instance-variables multiple-constructors

我不明白当您使用构造函数 Rational() 创建 Rational 对象时会发生什么。我的书说它将创建一个值为 0 但在内部存储为 0/1 的 Rational 对象。 this(0) 如何存储为 0/1? num 和 den 0 的实例变量的默认值不是吗?

public class Rational{

  public Rational(){
      this(0);
  }

  public Rational(int n){
      this(n,1);
  }

  public Rational(int x, int y){
     num = x; 
     den = y; 
  }

  private int num;
  private int den; 
}

最佳答案

术语

Rational r = new Rational();

呼吁

public Rational(){
    this(0);
}

需要

public Rational(int 0){
    this(0,1);
}

需要

public Rational(int 0, int 1){
   num = 0; 
   den = 1; 
}

这意味着您的最终对象将是 Rational(0,1);

关于java - 在类中将关键字 this 与多个构造函数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24013548/

相关文章:

java - 如何查看已安装的 Karaf 功能的内部情况

java - 使用 Gson 将 JSON 映射到 POJO

c++ - 不能通过这个因为错误的类类型转换

javascript - jQuery 将 $this 传递给函数参数

python - 有没有什么很酷的方法在 python 类中表达 `if x is None: x = self.x` ?

java - 我什么时候会在 Java 中使用类变量与实例变量?

javascript - 为什么在类方法中使用我的实例属性未定义?

java - 为什么 IPv4 地址以字节为单位,不能在整数范围内?

java - e4:依赖注入(inject)和处理小部件

javascript - 当call和apply嵌套在函数中时, "this"关键字指向什么?