这是我在这里提出的第一个问题所以我可能会做错事。
我希望声明一个我知道的实现接口的类的变量。
private <T extends Executable> T algorithm;
这是我尝试实现目标
答案 0 :(得分:6)
您不必使用泛型。以下内容适用于Executable的任何子类/实现:
private Executable algorithm;
答案 1 :(得分:3)
您不能在字段声明中引入类型参数。它必须是班级本身引入的那个。
e.g。
public class MyClass<T extends Executable> {
private T algorithm;
答案 2 :(得分:3)
只要声明它作为接口或类看到该类必须实现接口。根据您的需要而定。 但是你必须像这样去掉实例变量。
private YourInterfaceName variablename;
private ClassName variablename;
然后在构造函数中启动它们。
也许这个toutorial可以帮助您了解有关变量的更多信息。