getter方法和两个类[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我想了解getter方法。

在我的第一堂课中,我有一个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());         
    }
}
java methods parameters get
1个回答
0
投票

它打印0的原因与您分配传递给值的构造函数的方式有关。

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

问题是,不是将实际传入的值分配给实例字段,就像LP = pLP;那样,你做的恰恰相反,因此分配了LP字段。由于这是一个原始的int,它的默认值是0,因此当你试图打印出来时,为什么你得到0。

更改分配并修复它将解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.