public class a implements b,c {
public void g()
{
}
public static void main(String[] args){
a object =new a(); //this overrides for both the methods in
// the interfaces b and c
object.g();
}
}
interface b
{
void g();
}
interface c
{
void g();
}
ここでは、2つのインターフェイスに異なる実装を提供したいと考えています。どうすればいいのですか。 C#では、オーバーライドされたメソッドがどのインタフェースに対して使用されるかを明示的に指定することができます。java.langで行うことはできません。この問題を簡単な例で指定してください。javaで明示的にインターフェイスメソッドを呼び出せますか?そうでない場合は、回避策がありますか?
私はこれを次のように述べることができます...インターフェイスは1つのTVリモコン(インターフェイスb)と内部のVCDプレーヤーのリモート(インターフェイスc)を想定しているとします。リモート(この場合はg()メソッド)上でクリックされた同じボタンに対して、TVとVCDの異なる実装を提供したいと考えています。 g()をオーバーライドすると、両方のインターフェースに対してオーバーライドされます。どのインターフェースを明示的に言及するか私はテレビとVCDプレーヤーのための異なる実装(g()をオーバーライドすることによって)を提供したい。
E.X。右方向ボタンは、テレビ用のチャンネル変更として動作しますが、同じボタンはVCD
呼び出したい2つの実装でコンパイルする例はありますか? –
ここにあなたの質問に対する素晴らしい答えがあります: http://stackoverflow.com/questions/2801878/implemeting-2-interfaces-in-a-class-with-same-method-which-interface-method- is-o – nosirrahcd