java - 声明一个既扩展类又实现接口(interface)的属性

标签 java

我发现了这个问题:Member variable which must extend class A and implement some interface

想知道有没有更好的方法。将它作为参数传递到方法中是可行的:

public <T extends Activity & IMyInterface> void start(T _callback) {
    callback = _callback;
}

但是如何正确地将 callback 声明为属性呢?这:

Class<? extends Activity & IMyInterface> callback;

给出语法错误。

最佳答案

问题是 T 不是 Class 的实例,您可以将其声明为:

Object callback;
MyType callback;
MyInterface callback;

或者您可以像这样将您的类定义为通用类:

public class Example<T extends MyType & MyInterface>{
   T callback
}

关于java - 声明一个既扩展类又实现接口(interface)的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23427902/

相关文章:

java - 使用 OpenCV 在 Java 中查找轮廓

java - org.apache.catalina.LifecycleException : Failed to start component [StandardEngine[Catalina]. StandardHost[localhost]]

java - 如何在java中解析json对象内部的json对象

java - Android Java 异常,即使在字符串 null 或空检查之后

通过带有凭据的代理进行 Java 请求

java - 从 Oracle View 的结果中获取多个对象

JavaDoc - 未声明的类型变量

java - 弗里达 Java 窗口

java - Eclipse 错误 : indirectly referenced from required . 类文件,使用 .java 文件而不是 Tomcat 服务器上的 .jsp 文件?

java - Android调用自定义alertdialog类