![](/img/trans.png)
[英]Java: Passing 2 objects from 2 different classes and accessing all of their variables
[英]Trouble accessing variables from different Java classes
是兩倍還是兩倍? 第一個是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());
}
}
我看到幾個問題。
(如@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; }
將您的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.