无法访问来自不同Java类的变量

时间:2015-07-02 04:10:22

标签: java class variables netbeans

我试图找出如何从LinearEquation类获取变量到我的Main类。我一直在尝试复制教师笔记的结果,但它还没有奏效。我见过的示例与我的导师所做的很接近,但我仍然不想工作。

现在我的目标很简单,我只想在Linear Equation类中声明Double a = 1并将其返回给Main类并将其输出。

Main Class

LinearEquation Class

4 个答案:

答案 0 :(得分:1)

双倍还是双倍?第一个是Wrapper类,另一个是原始类。我注意到你在LinearEquation类中没有setter方法。因为你将类变量声明为私有,所以你有setter方法会更好。一旦你宣布

public void setA(double a)
{
  this.a = a;
}

然后,您可以将值1传递给main方法中le.setA(1)中的参数,如下所示:

le.setA(1);

然后您可以在main方法中返回值1,如下所示:

le.getA();

否则,您在LinearEquation类中有一个包含6个参数的构造函数。因此,您可以在创建对象文件时分配值:

LinearEquation le = new LinearEquation(1,2,3,4,5,6);
System.out.println(le.getA());

另外,你写了没有括号的le.getA,我觉得它没有用!

答案 1 :(得分:0)

在LinearEquation类中,您没有默认构造函数,因此不允许在不传递参数的情况下调用构造函数。如果您传递参数,您的问题将得到解决:)

public class Main { 
   public static void main(String[] args) {

      LinearEquation le = new LinearEquation(here pass parameters to  
                                                  initialize values);

      System.out.print(le.getA());

    }   
}

答案 2 :(得分:0)

我看到了几个问题。

  1. (如@KishoreKumarKorada所述)是你的LinearEquation构造函数需要多个参数

    LinearEquation le = new LinearEquation(1,2,3,4,5,6);

  2. 调用方法时需要包括括号

    System.out.print(le.getA());

  3. 您的getA方法应引用this.a,而不仅仅是a

    public double getA() { this.a = 1; return this.a; }

答案 3 :(得分:0)

将您的Main课程更改为此。

public class Main {
    public static void main(String[] args) {
        LinearEquation le = new LinearEquation(1, 2, 3, 4, 5, 6);
        System.out.println(le.getA());
    }
}

执行时,这是输出:

1.0

为什么需要这样做?

因为,在LinearEquation中,只有一个构造函数,它需要6个数据类型double的参数。

必须传递这些参数。

如果您不想传递任何参数,请将默认构造函数添加到LinearEquation