![](/img/trans.png)
[英]Java: How can I use objects instantiated in one class in another class?
[英]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.