簡體   English   中英

Java:在另一個類中使用類中的對象

[英]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.

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