【问题标题】:getter method and two classes [duplicate]getter方法和两个类[重复]
【发布时间】:2018-09-09 13:34:57
【问题描述】:

我想了解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 的具体细节问题,并且您正在反向分配 setter 方法,这表明查看 Java 教程的介绍会对您大有裨益。请查看Oracle Java Tutorial Big Index site

标签: java methods parameters get


【解决方案1】:

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

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

问题是,不是像LP = pLP; 那样将实际传入的值分配给实例字段,而是完全相反,因此分配了LP 字段。由于这是一个原始的int,它的默认值为 0,因此当您尝试打印它时会得到 0。

更改您的分配并修复它可以解决此问题。

【讨论】:

  • 哇,谢谢。我不知道这会有所不同。它正在工作!
猜你喜欢
  • 1970-01-01
  • 2014-09-24
  • 1970-01-01
  • 1970-01-01
  • 2012-08-06
  • 2016-11-10
  • 2017-07-07
  • 2018-09-13
  • 2018-05-21
相关资源
最近更新 更多