簡體   English   中英

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

[英]Java: How to use objects of one class in another

這個問題對許多人來說似乎很愚蠢,但是我似乎缺乏對Java的一些基本了解。 我只是從未在一個項目中使用過幾個類。 對於更大的項目,我想將代碼分成幾個類,每個類必須相互操作。 這是一個非常基本的示例,可以幫助您更好地理解。

我有三個類TestMain,TestA和TestB。 TestMain讀取兩個字符串input1和input2。 TestA將input1解析為int inputA,TestB將input2解析為int inputB。 然后,TestA使用inputA和inputB生成result1,然后TestB使用result1創建result2。 之后,TestMain打印出兩個結果。

我不確定這是否可能,因為這些類必須同時進行交互。 由於這對於我的其他項目是必需的,所以這是我的第一個問題-這是否可能?

到目前為止,我的代碼是這樣,但是有幾個問題:

public class TestMain {

public static void main(String[] args) throws IOException {

    String input1, input2;
    TestA testA = new TestA(); TestB testB = new TestB();

    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);
    input1 = br.readLine();
    input2 = br.readLine();
    System.out.println("A: " + testA.result1 + ", B: " + testB.result2);
}
}

public class TestA {

    public static void main(String args[]){

        String inputA;
        int a; int result;

        TestMain testMain = new TestMain(); TestB testB = new TestB();

        inputA = testMain.input1;
        a = Integer.parseInt(inputA);
        result1 = a*testB.b;
    }   
}

public class TestB {

    public void main(String args[]){

        String inputB;
        int b;
        int result2;

        TestMain testMain = new testMain(); TestA testA = new testA();

        inputB = testMain.input1;
        b = Integer.parseInt(inputB);
        result2 = testA.result1*2;
    }
}

我無法解決這個非常簡單的示例,這表明我缺乏基礎知識,因此希望您能為我提供幫助。 干杯,Joshflux

您沒有3個實際的類,而是有3個用於靜態main方法的存儲庫,這是非常不值得的情況。 為了創建可以協同工作的類,必須首先學習離開靜態領域並進入實例領域,創建具有實例字段和方法的類,包括其他類(例如您的類)的字段。 閱讀書籍和教程,學習適用於Java的OOP。

這個問題確實意味着您還沒有研究過OOP,需要對此進行補救-就這么簡單。 這里開始

之所以回答是社區Wiki,是因為我不想代表這個維基。

暫無
暫無

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

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