簡體   English   中英

無法訪問來自不同Java類的變量

[英]Trouble accessing variables from different Java classes

我試圖弄清楚如何從LinearEquation類到Main類獲取變量。 我一直在嘗試復制教師筆記中的結果,但是沒有奏效。 我已經看到了一些示例,這些示例與我的老師所做的很接近,但是我的仍然不想工作。

現在我的目標很簡單,我只想在線性方程類中聲明Double a = 1並將其返回到Main類並在那里輸出。

主班

線性方程類

是兩倍還是兩倍? 第一個是Wrapper類,另一個是原始類型。 而且我注意到您在LinearEquation類中沒有setter方法。 最好使用setter方法,因為您將類變量聲明為私有。 一旦聲明

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

然后,可以在main方法中將值1傳遞給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不帶括號,我認為它不起作用!

在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());

    }   
}

我看到幾個問題。

  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; }

將您的Main class更改為此。

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添加默認構造函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM