Java中:MyInterfaceA myvariable的含义是什么<MyinterfaceB>?



嗨,伙计们不确定一行代码它看起来像下面的层次结构。

 public interface MyIntA<T extends MyIntB> {
   //stuff
}

第二个

public interface MyIntB<T extends MyIntC>{
//stuff
}

然后在代码中的其他地方我看到这个

MyIntA<MyIntB> var = doStuff(); 

其中 doStuff((; 的返回类型

<T extends MyIntB> MyIntA <T>

怎么允许MyIntA<MyIntB> var
什么是变量?类型 Interface<Interface>

让我给你一个现有的例子,可以帮助你理解-

我们都使用java.util.List. List是一个接口,以下是List的签名

public interface List <E> {
    void add(E x);
    Iterator<E> iterator();
    ...........
}

现在这里E是将在List中使用的变量类型。因此,当您声明类型为 IntegerList 变量时,您调用的如下所示

List<Integer> list;

在您的示例中,同样的事情正在发生。定义一个MyIntA变量,您将在其中将此变量用于扩展MyIntB的某种类型。

接口类型的变量是什么类型?

Interface不是一个类型......var的类型与声明的类型相同,即MyIntA<MyIntB>

有关更多详细信息,您可以查看文档

相关内容

最新更新