这是我的Java代码。我创建了一个带有两个类的接口abc
。 class a1实现了接口abc
。类b1使用接口函数display
来显示一些数据。
类a1
在无限循环中运行。
interface abc
{
display(String s);
}
class a1 implments abc
{
a1(b1 obj)
{
}
public void display(String s)
{
System.out.println(s);
}
}
class b1
{
abc abc1;
private xyz x;
b1(xyz xyz1) //xyz is interface
{
this.x = xyz1;
}
public void show()
{
abc1 = new a1(new b1(this.x)); // here is problm.. this statement cause infinite loop.
String str = "Hello";
abc1.display(str);
}
}
该程序导致类a1
的无限循环。
请找到问题并帮我解决。
答案 0 :(得分:0)
它没有无限循环。 我创建了一个main并调用了b1.show并且它已成功运行。
interface abc
{
void display(String s);
}
class a1 implements abc
{
a1(b1 obj)
{
}
public void display(String s)
{
System.out.println(s);
}
}
class b1
{
abc abc1;
private xyz x;
b1(xyz xyz1) //xyz is interface
{
this.x = xyz1;
}
public void show()
{
abc1 = new a1(new b1(this.x)); // here is problm.. this statement cause infinite loop.
String str = "Hello";
abc1.display(str);
}
}
public class Main{
public static void main(String args[]){
xyz xyz1 = null;
b1 objb1=new b1(xyz1);
objb1.show();
System.out.println("out of all classes..");
}
}
interface xyz{
}