![](/img/trans.png)
[英]Java: Using an actionlistener to call a function in another class on an object from that class
[英]Java: using object from class in another class
我有兩個不同的文件。 在下面的文件中,我創建了一個具有屬性的新對象,並創建了一個方法來檢索該屬性。
public class Journey
{
public double singleCost;
public void setSingleCost(double cost) {
singleCost = cost;
}
public double getSingleCost() {
return singleCost;
}
public static void main (String[] args) {
Journey leicester_loughborough = new Journey();
leicester_loughborough.setSingleCost(2.5);
Journey leicester_nottingham = new Journey();
leicester_nottingham.setSingleCost(3.5);
}
}
在一個單獨的文件中,我想打印出該對象的屬性。 我不知道該怎么做。 以下似乎不起作用。
public class JourneyMethods
{
public static void main (String[] args) {
System.out.println(leicester_loughborough.getSingleCost());
}
}
我很感激任何幫助,謝謝。
您過多地將此視為主要方法。
您的JourneyMethods
主方法對Journey
類一無所知,除非您告訴它。 如果您創建對Journey
的引用, JourneyMethods
將能夠與Journey
實例交互。
您只需為您想要在擁有它的類中擁有的屬性創建一個 getter() 方法(在您的情況下為 Journey.class)。 像這樣:
public double getSingleCost() {
return singleCost;
}
然后,您可以通過從您擁有的對象實例調用 getSingleCost() 來獲取屬性。 像這樣:
double cost = leicester_loughborough.getSingleCost();
請注意,這是非常基本的內容,您可能想先閱讀更多 Java 教程。
哦,你的程序應該只有一個main()
方法作為入口點。 (有多個原因,但這些都是針對特定情況的)。 如果您按照 OP 中編寫的方式運行您的程序,地址空間以及兩個應用程序的執行將彼此分開,並且您無法訪問包含在不同應用程序中的對象(好吧,有像序列化這樣的方法,但這些是更高級的主題)。 將您的類/對象包含在同一個程序中。
編輯:修復 OP 的代碼以按預期工作:
public class Journey
{
public double singleCost;
public void setSingleCost(double cost) {
singleCost = cost;
}
public double getSingleCost() {
return singleCost;
}
}
旅程方法:
public class JourneyMethods
{
public static void main (String[] args) {
Journey leicester_loughborough = new Journey();
leicester_loughborough.setSingleCost(3.5);
System.out.println(leicester_loughborough.getSingleCost());
}
}
您需要在 JourneyMethods 類中創建兩個旅程對象,以便對它們進行引用。 此外,您應該將“文件”稱為類,因為“文件”通常意味着文件系統上的文件,而不是代表 Java 類的文件。 這讓我有點困惑。
你的類對象:
public class Journey
{
public double singleCost;
public void setSingleCost(double cost) {
singleCost = cost;
}
public double getSingleCost() {
return singleCost;
}
}
您的主要課程:
public class JourneyMethods
{
public static void main (String[] args) {
Journey Leicester_loughborough = new Journey();
leicester_loughborough.setSingleCost(2.5);
Journey leicester_nottingham = new Journey();
leicester_nottingham.setSingleCost(3.5);
System.out.println(leicester_loughborough.getSingleCost());
}
}
這就是 Java 的工作方式,我認為您對 C(帶有 .h 和 .c 文件)感到困惑把它放在你的 main() 函數中:)
在 Java 中,您通常希望將方法放在 Object 類中。
要訪問對象屬性,您必須在外部類中創建對象並使用 getter 和 setter 方法來獲取對象的值。
public class Journey{
public double singleCost;
public void setSingleCost(double cost) {
singleCost = cost;
}
public double getSingleCost() {
return singleCost;
}
}
public class JourneyMethods{
public static void main (String[] args) {
Journey Leicester_loughborough = new Journey();
leicester_loughborough.setSingleCost(2.5);
Journey leicester_nottingham = new Journey();
leicester_nottingham.setSingleCost(3.5);
System.out.println(leicester_loughborough.getSingleCost());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.