levelOfBreathing是否正确设置为私有整数属性

时间:2011-07-26 20:35:27

标签: java

public class Animal {

    public static void main(String[] args){

    }

    private int levelOfBreathing = 21;
    public Animal(Integer levelOfBreathing) {

4 个答案:

答案 0 :(得分:3)

不,传递给构造函数的值未分配给该字段。 levelOfBreathing的值将保持为21。

编辑:

编辑Animal的构造函数,使其看起来像这样。

public Animal(Integer levelOfBreathing) {
    this.levelOfBreathing = levelOfBreathing;
}

答案 1 :(得分:1)

不,我不相信。我认为你需要明确地设置它,如,

  public Animal(int levelOfBreathing) {
     // constructor for the Animal class
     this.levelOfBreathing = levelOfBreathing;
  }

答案 2 :(得分:1)

我想你可能想要这个为你的父类:

public class Animal {

    private int levelOfBreathing = 21;

    public Animal(Integer levelOfBreathing)   {
        this.levelOfBreathing = levelOfBreathing;
    }
}

由于某种原因,您似乎为构造函数编写了RuntimeException而不是Animal

请注意this.levelOfBreathing用于指定字段而不是构造函数参数,因为它们具有相同的名称。

答案 3 :(得分:1)

不,不是。通过在构造函数中指定levelOfBreathing作为参数,您承认levelOfBreathing的值将来自其他人。

将其更改为类似的内容,这会将levelOfBreathing更改为传递给构造函数的任何内容

  public Animal(int levelOfBreathing) 
  {
     //the this keyword refers to an instance of Animal
     this.levelOfBreathing = levelOfBreathing;
  }