0

intclass というインターフェイス クラスがあります。このインターフェイス クラスには、mymethod というメソッドがあります。mymethod のコードを持つインターフェイス クラスを実装する impclass というクラスを作成しました。ただし、インターフェイス intclass をパラメーターとして受け取る dmeth という別のメソッドがあります。メソッド 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 関数に到達していないことに気付きました。誰かが何が起こっているのかについて考えを持っていますか

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 に答える