我有两个班级(在不同的文件中)和一个主要班级。我想在其他方法中使用它们的方法和参数(例如int),但是当我将每个方法和参数作为新方法创建时,我会遇到 /apps/as-agent -metaspace 'AlertsMS' -discovery 'tcp://localhost:7877;localhost:7789' -listen 'tcp://localhost:7787' -input 'mySpace.txt'
我的目的:
Main>创建class1>转到class1,然后将int发送给class2> do sth并将结果作为int再次返回到"java.lang.StackOverflowError".
并打印结果。
class1
答案 0 :(得分:0)
在Class2的方法run
与Class1的方法start
之间具有循环引用。
答案 1 :(得分:0)
您的run
方法调用start
,后者调用run
,后者调用start
,后者调用...
我的目的:Main>创建class1>转到class1并将int发送给class2>做某事并将结果再次作为int返回到class1并打印结果。
如果这是您的目的,请创建一种方法来执行您想要的操作,然后返回结果:
public int foo(int b) {
return b+10+a;
}
这样您的start
方法将调用foo()
并进行必要的计算,然后return
的结果,而不是再次调用该方法。但是Java是按值传递的,因此您必须将foo()
的结果解析为变量。但是,您只需打印结果即可:
public void start (int c)
{
System.out.println("Number :"+ class2.foo(b));
}