getter方法和两个类

时间:2018-09-09 13:34:58

标签: java methods parameters get

我想了解吸气剂方法。

在我的第一堂课上,我有一个get方法和一个参数。

在第二堂课中,我将定义一个带有参数的新对象。现在我想用getter方法打印出这个值,但是控制台打印的是0而不是23?

这是我的代码

头等舱

public class CopyOfHeld {

    private int LP;

    public CopyOfHeld(int pLP) {             
        pLP = LP;      
    }


    public int getLp() {
        return LP;
    }
}

第二等:

public class CopyOfKampfregel {

    public CopyOfKampfregel()  {

        CopyOfHeld held1 = new CopyOfHeld(23);        
        System.out.println(held1.getLp());         
    }
}

1 个答案:

答案 0 :(得分:0)

它显示0的原因与分配传入值的构造函数的方式有关。

在创建新的CopyOfHeld对象时,您会传入一个原始int值,尝试通过这种方式分配该值:pLP = LP;

问题是,与其像LP = pLP;那样将实际传入的值分配给实例字段,不如执行相反的操作,从而分配LP字段。由于这是一个原始的int,因此默认值为0,因此为什么在尝试打印时会得到0。

更改并修复您的作业将解决此问题。