Java源码解析之GenericDeclaration详解
学习别人实现某个功能的设计思路,来提高自己的编程水平。话不多说,下面进入正题。
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下载
https://www.jb51.net/books/581892.html
Java设计模式深入研究 PDF
上一篇:Java数据结构及算法实例:考拉兹猜想 Collatz Conjecture
栏 目:JAVA代码
下一篇:SpringBoot2 集成log4j2日志框架的实现
本文标题:Java源码解析之GenericDeclaration详解
本文地址:http://www.codeinn.net/misctech/95775.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




