我有一个名为intclass的接口类。这个接口类有一个名为mymethod的方法。我创建了一个名为impclass的类,它实现了接口类,其中包含mymethod的代码。但是我有另一个名为dmeth的方法,它接收接口intclass作为参数。方法dmeth在一个名为dclass的不同类中。但是当我运行dclass时,mymethod下的代码不会执行。我不明白为什么。 下面是代码:
public interface intclass{
public void mymethod(string message);
}
public class impclass
implements intclass{
public void mymethod(String message){
System.out.println("this is the message"+message);
}
}
public class dclass{
public void dmeth(intclass cl){
....
}
public static main(String[] arg0){
impclass icl =new impclass()
dclass d=new dclass();
d.dmeth(icl);
}
}
我不知道出了什么问题。如果有关于mymethod函数的预期参数的错误,我预计错误或程序崩溃。但在我的情况下程序运行顺利,但System.out.println(“这是消息”+消息);不打印。我试图在mymethod函数和调试中休息,但那时我意识到我甚至没有达到mymethod函数。有没有人对将要发生的事情有一个想法
答案 0 :(得分:0)
字符串和字符串不是一回事。键入
时请注意public interface intclass{
public void mymethod(string message);
}
和
public class impclass
implements intclass{
public void mymethod(String message){ //Note the Uppercase S
System.out.println("this is the message"+message);
}
}
此外,您的impclass缺少构造函数,并且您没有以任何方式调用该方法。你的dmeth应该包含
public void dmeth(intclass cl){
cl.mymethod("Message");
}
以便执行mymethod。