参考'这个'输入java通用接口

时间:2014-08-27 06:41:15

标签: java generics

我想在通用界面中引用this 类类型

我需要这个来强制接口实现来实现两个方法,这些方法返回通用类的实现,this 类类型作为通用参数


我们假设我有两个界面:Cover.javaAdaptor.java

interface Cover<P extends Phone> {
    P getPhone();
}

interface Adaptor<P extends Phone> {
    P getPhone();
}


我想创建通用接口,鼓励它的实现将CoverAdaptor作为通用参数返回

// <T> should reference to current Phone implementation
public interface Phone {
   Cover<T> getCover();
   Adaptor<T> getAdaptor();
}


因此我想要:

//correct
public class Iphone implements Phone {
   Cover<Iphone> getCover(); // <- I want this to be compile-time controlled
   Adaptor<Iphone> getAdaptor(); // <- I want this to be compile-time controlled
}

// compile-time exception
public class Samsung implements Phone {
  Cover<Iphone> getCover(); // <- CTE
   Adaptor<Iphone> getAdaptor(); // <- CTE
}

有没有办法在Java 7中实现这个目标?

0 个答案:

没有答案