Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 小代码,值为';携带_Java_Variables - Fatal编程技术网

Java 小代码,值为';携带

Java 小代码,值为';携带,java,variables,Java,Variables,我遇到了这个问题,我有一个java文件,它从另一个文件中获取两个变量,并将它们相加,然后返回求和值。到目前为止,它可以获得第一个和第二个值,但我不确定在使用sum方法时,为什么值1和值2会丢失(返回0)。这是我的家庭作业 public class Pair { private double one, two ; public Pair(double aFirst, double aSecond) { double one = aFirst;

我遇到了这个问题,我有一个java文件,它从另一个文件中获取两个变量,并将它们相加,然后返回求和值。到目前为止,它可以获得第一个和第二个值,但我不确定在使用sum方法时,为什么值1和值2会丢失(返回0)。这是我的家庭作业

public class Pair
{
    private double one, two ;
    public Pair(double aFirst, double aSecond)
    {
        double one = aFirst;
        double two = aSecond;
    }

    public double sum() 
    {
        double xys = one + two;
        return(xys);
    }
}

您将
one
two
声明为局部变量,隐藏实例变量。

问题在于构造函数。您正在创建局部变量,而不是使用类字段

private double one, two ;
public Pair(double aFirst, double aSecond)
{
    this.one = aFirst;
    this.two = aSecond;
}

您可以不使用“this”来执行此操作。但是不要提前键入当您在局部范围和类成员中具有相同的变量名时,请使用
this
在重写情况下访问类成员变量。

非常感谢,我现在理解了。我试过用这个,但我用错了地方。当你找到你喜欢的答案时,你可以“勾选”它来接受这个答案。