Java的泛型高级篇

编程入门 行业动态 更新时间:2024-10-08 00:32:19

Java的泛型<a href=https://www.elefans.com/category/jswz/34/1770104.html style=高级篇"/>

Java的泛型高级篇

以前在看源码的时候,老是能够看见大写的字母:T D......

他就是用来标志泛型的。就拿ArrarList

E就是 :element的简写

T就是Type。

另外一种就很高级,父级和自己约束性泛型:

定义一个顶级父类:TimeTest

public interface TimeTest extends supert1 {
}

然后t1实现它:

public class t1 implements TimeTest {String name;public t1(String name) {this.name = name;}@Overridepublic String toString() {return name;}
}

t2也是实现它:

public class t2 implements TimeTest {
}

t3则继承t2:

public class t3 extends t2 {
}

再加一个supert1

public interface supert1 {
}

 ? super T: 包含T类型及其父类(继承、实现都能)所有

? extends T:包含T类型,及其子类(继承、实现都能)所有

public class fxt {List<? super t2> age;public <T extends t2> T get(T data) {return null;}public fxt(List<? super t2> age) {this.age = age;}@Overridepublic String toString() {String s = "";for (Object o : age) {s += o + ",";}return s;}public static void main(String[] args) {ArrayList<supert1> list = new ArrayList<>();list.add(new t1("1"));list.add(new t1("2"));list.add(new t1("3"));fxt fxt = new fxt(list);System.out.println(fxt);fxt.get(new t4());}
}

因为supert1是父类的父类,所以super标识是可以怎么做的。

extends也是同样的道理:

加一个t4继承t3(t3继承了t2,所以也是可以用的):

public class t4 extends t3 {
}

也许你会觉得多此一举,因为这样就是在约束使用者,例如A接口有get方法,我在框架中只需要调用即可,只要是使用我的方法,一定会实现A接口,就必定有get方法。

更多推荐

Java的泛型高级篇

本文发布于:2023-12-03 23:28:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1658936.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:高级   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!