Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用扩展实现推理<;爪哇>;_Java_Extends_Inference - Fatal编程技术网

Java 如何使用扩展实现推理<;爪哇>;

Java 如何使用扩展实现推理<;爪哇>;,java,extends,inference,Java,Extends,Inference,我试图弄清楚如何进行简单的实现,我想,如果接口扩展到另一个接口怎么办? 那么比如说, public interface A{ public void a(); } public interface B{ public void b(); } public interface C extends B, A { public void c(); } 如果我要在另一个类上实现接口C,我必须做什么? 我在阅读其他线程时尝试了这一点: public class Example

我试图弄清楚如何进行简单的实现,我想,如果接口扩展到另一个接口怎么办? 那么比如说,

public interface A{
    public void a();
}

public interface B{
    public void b();
}

public interface C extends B, A {
    public void c();
}
如果我要在另一个类上实现接口C,我必须做什么? 我在阅读其他线程时尝试了这一点:

public class Example<E extends B&A> implements C{
    public void c(){
    }
}
公共类示例实现了C{
公共图书馆c({
}
}

这似乎是不对的。

你怎么了。。。简单地实现所有接口

public class Example implements C {
  @Override 
  public void a(){ }
  @Override 
  public void b(){ }
  @Override 
  public void c(){ }
}
换句话说:您认为首先将示例作为泛型类型会有什么好处


意义:如果有一个更深层次的问题,我没有看到-你应该考虑更新你的问题,并解释你打算做什么(以避免在这里解决)。如果没有更深层次的问题,请使用最简单的解决方案(如上图所示)。

如果希望
示例
类实现
C
。。。您只需说
实现了C
。类型变量是非常独立的,与此无关:

public class Example implements C { ... }
但是看看你的班级签名:

public class Example<E extends B&A> implements C
然后,可以在其主体中包含以下内容:

void someMethod(E e) {
  e.a();  // OK.
  e.b();  // OK.
  // e.c();  // Compiler error, E doesn't implement C.
}
“扩展推理”?这是什么意思?
void someMethod(E e) {
  e.a();  // OK.
  e.b();  // OK.
  // e.c();  // Compiler error, E doesn't implement C.
}