我想弄清楚如何從LinearEquation類中獲取一個變量到我的Main類。我一直在試圖複製教練筆記的結果,但它一直沒有奏效。我已經看到了一些與我的教練做過的例子,但我仍然不想工作。無法訪問來自不同Java類的變量
現在我的目標很簡單,我只是想在Linear Equation類中聲明Double a = 1
並將它返回到Main類並將其輸出到那裏。
我想弄清楚如何從LinearEquation類中獲取一個變量到我的Main類。我一直在試圖複製教練筆記的結果,但它一直沒有奏效。我已經看到了一些與我的教練做過的例子,但我仍然不想工作。無法訪問來自不同Java類的變量
現在我的目標很簡單,我只是想在Linear Equation類中聲明Double a = 1
並將它返回到Main類並將其輸出到那裏。
我看到幾個問題。
(由@KishoreKumarKorada提到的)是你的LinearEquation構造期待多個參數
LinearEquation le = new LinearEquation(1,2,3,4,5,6);
當你打電話,你需要包括括號中的方法
System.out.print(le.getA());
您的getA
方法應該是指this.a
而不是簡單地a
public double getA() { this.a = 1; return this.a; }
在你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());
}
}
更改您的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
。
你必須通過這些參數。
OR
如果你不想傳遞任何參數,然後添加一個默認的構造LinearEquation
雙人或雙?第一個是Wrapper類,另一個是原始類型。我注意到你的LinearEquation類沒有setter方法。因爲你聲明你的類變量是私有的,所以你最好有setter方法。一旦你聲明
public void setA(double a)
{
this.a = a;
}
然後,您可以通過值1到le.setA參數(1)主要方法如下:
le.setA(1);
然後你就可以在你的主要方法返回值1如下所示:
le.getA();
否則,您在LinearEquation類中有6個參數的構造函數。所以,你可以指定當創建一個對象文件中的值:
LinearEquation le = new LinearEquation(1,2,3,4,5,6);
System.out.println(le.getA());
而且,你寫到le.getA沒有括號,我不認爲它的工作原理!
double * 我正在追蹤這本書的一個例子,它沒有提到setters。只有獲得者。但我不確定是否應該添加setter。它還提到變量a-f是私有的。 數字(1-6),他們得到任何東西分配給他們?例如, ,「double a = 1」,「double b = 2」等等? –
我不太確定你的意思,但是如果你想要double a = 1,你必須爲你的字段double a賦值1,如下setA(1);和System.out.println(getA());是將值1返回到屏幕。否則,在main中,創建一個帶有參數的新對象LinearEquation,併爲其分配值,因爲您在LinearEquation類中具有6個參數的構造函數,並且您在main中調用getA(),getB()等等。 http://beginnersbook.com/2013/05/encapsulation-in-java/ –
哦,我的筆記只顯示了一個參數,所以我想我只需要一個參數而不是六個參數。謝謝您的幫助! –