Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 接口类型参数是否扩展接口?_Java_Oop_Interface_Type Bounds - Fatal编程技术网

Java 接口类型参数是否扩展接口?

Java 接口类型参数是否扩展接口?,java,oop,interface,type-bounds,Java,Oop,Interface,Type Bounds,我在阅读代码库时遇到了这种结构,我无法理解它的作用/代表: 公共接口MyInterface{} 我不明白类型绑定在这里是做什么的——它看起来几乎是递归的?在这种情况下,对T的真正限制是什么?这意味着实现接口的任何类都必须将T指定为它们自己: class MyClass实现MyInterface{} // │ ↑ // └──────────────────────────────┘ 这里T是MyClass,它扩

我在阅读代码库时遇到了这种结构,我无法理解它的作用/代表:

公共接口MyInterface{}

我不明白类型绑定在这里是做什么的——它看起来几乎是递归的?在这种情况下,对
T
的真正限制是什么?

这意味着实现接口的任何类都必须将
T
指定为它们自己:

class MyClass实现MyInterface{}
//       │                              ↑
//       └──────────────────────────────┘

这里
T
MyClass
,它扩展了
MyInterface
,因此
T扩展了MyInterface
的范围就满足了。

这意味着实现接口的任何类都必须将
T
指定为它们自己:

class MyClass实现MyInterface{}
//       │                              ↑
//       └──────────────────────────────┘

这里的
T
MyClass
,它扩展了
MyInterface
,因此
T扩展了MyInterface
的范围就满足了。

这是否回答了您的问题?这回答了你的问题吗?所以基本上任何接受/给出T的方法实际上是接受/给出“这个类”?例如:T someMethod(…)实际上说“这个方法接受一些参数并给出一些实现类的实例?我想这比简单地说
interface-MyInterface{MyInterface-foo(…)}要强大得多。”
因为这可能是MyInterface@NimrodSadeh不,您不能保证
T
this
对象的类型。例如
class Foo实现MyInterface{}
class Bar实现MyInterface{}
是有效的,即使
Bar
T
不是一种
Bar
类型。因此,基本上任何接受/给出T的方法实际上都是接受/给出“this class”?例如:T someMethod(…)实际上说“this method接受一些参数并给出实现类的一些实例?”?我想这比简单地说
interface-MyInterface{MyInterface-foo(…)}
强,因为这可能是MyInterface@NimrodSadeh否,您不能保证
T
对象的类型。例如,
class Foo实现MyInterface{}
class Bar实现MyInterface{}
是有效的,即使
Bar的
T
不是
Bar
类型。