繁体   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