0

我有一个名为 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("this is the message"+message); 不打印。我试图中断 mymethod 函数并进行调试,但那时我意识到 mymethod 函数甚至没有达到。有没有人知道会发生什么

4

1 回答 1

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。

于 2013-09-28T17:34:14.623 回答