加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java源码解析之GenericDeclaration详解

发布时间:2020-12-14 21:16:28 所属栏目:Java 来源:网络整理
导读:学习别人实现某个功能的设计思路,来提高自己的编程水平。话不多说,下面进入正题。 GenericDeclaration 可以声明类型变量的实体的公共接口,也就是说,只有实现了该接口才能在对应的实体上声明(定义)类型变量,这些实体目前只有三个:Class(类)、Constr

学习别人实现某个功能的设计思路,来提高自己的编程水平。话不多说,下面进入正题。

GenericDeclaration

可以声明类型变量的实体的公共接口,也就是说,只有实现了该接口才能在对应的实体上声明(定义)类型变量,这些实体目前只有三个:Class(类)、Construstor(构造器)、Method(方法)(详见:Java源码解析之TypeVariable详解

源码

public interface GenericDeclaration {
 //获得声明列表上的类型变量数组
 public TypeVariable<?>[] getTypeParameters();
}

概述

所有可以声明/定义类型变量(TypeVariable)的实体的公共父接口,其直接实现子类:java.lang.reflect子包中的:Class,Method,Constructor,所以,这三个对应的类上、方法上、构造器上可以声明(定义)类型变量,GenericDeclaration的直接实现子类没有Field类,所以属性上面不能定义类型变量。

源码详解

1.getTypeParameters

返回实体上声明(定义)的所有的类型变量。

public class Main<K extends classA & interfaceB,V> {
 classA<K>[][] key;
 V value;
 public static void main(String[] args) throws Exception
 {
  TypeVariable[] types = Main.class.getTypeParameters();
  for(TypeVariable type : types){
   System.out.println(type.getName());
  }
 }
}
//输出结果
K
V

总结

以上就是本文关于Java源码解析之GenericDeclaration详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Java源码解析之object类、浅谈Java多线程处理中Future的妙用(附源码)等,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

推荐本站两本Java编程相关的书籍,免费下载,供大家学习参考:

图解数据结构使用java PDF下载

http://www.aspzz.cn/books/581892.html

Java设计模式深入研究 PDF

http://www.aspzz.cn/books/581548.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读