Java:如何在另一个类

时间:2015-10-27 20:38:13

标签: java

这个问题对许多人来说似乎很愚蠢,但我似乎缺乏对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

1 个答案:

答案 0 :(得分:2)

你没有3个真实的类,你有3个静态主要方法的存储库,这是一个相当无价值的情况。为了创建可以一起工作的类,您必须首先学会离开静态领域并进入实例领域,创建具有实例字段和方法的类,包括其他类的字段,例如类。阅读书籍和教程,学习适用于Java的OOP。

这个问题确实意味着你还没有研究过OOP,需要解决这个问题 - 就这么简单。开始here

作为社区Wiki回答,因为我不想要代表这个。