Java声明实现接口的变量

Java声明实现接口的变量,java,interface,Java,Interface,这是我在这里问的第一个问题,所以我可能会做错一些事情 我想声明一个变量,我知道它属于实现接口的类 private <T extends Executable> T algorithm; 私有T算法; 这是我试图实现的目标您不能在字段声明中引入类型参数。它必须是由类本身引入的 e、 g 公共类MyClass{ 私有T算法; 您不必为此使用泛型。以下内容适用于可执行文件的任何子类/实现: private Executable algorithm; 只要将它声明为接口或类,它就会发现

这是我在这里问的第一个问题,所以我可能会做错一些事情

我想声明一个变量,我知道它属于实现接口的类

private <T extends Executable> T algorithm;
私有T算法;

这是我试图实现的目标

您不能在字段声明中引入类型参数。它必须是由类本身引入的

e、 g

公共类MyClass{
私有T算法;

您不必为此使用泛型。以下内容适用于可执行文件的任何子类/实现:

private Executable algorithm;

只要将它声明为接口或类,它就会发现这个类无论如何都必须实现接口。这取决于您需要它的方式。 但是你必须像这样取消实例变量

private YourInterfaceName variablename;
private ClassName variablename;
然后在构造函数中启动它们


也许这有助于您了解更多关于变量的信息。

谢谢,解决了这个问题。我会投票赞成,但我没有15个代表,但这也会将类绑定到该类型。因此,这可能不是完美的解决方案。请参阅另一个解决方案,它在这里应该更适用。@RohitJain:你是对的。但这只是为了澄清关于声明fi的疑问类型为类型参数的eld。
private YourInterfaceName variablename;
private ClassName variablename;