Java源码解析之GenericDeclaration详解

 更新时间:2017年10月26日 10:26:08   作者:青楼有罪  
这篇文章主要介绍了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

https://www.jb51.net/books/581548.html

相关文章

  • Java可变个数形参的方法实例代码

    Java可变个数形参的方法实例代码

    这篇文章主要给大家介绍了关于Java可变个数形参的相关资料,文中通过图文以及实例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友可以参考下
    2022-02-02
  • 使用SpringBoot+AOP实现可插拔式日志的示例代码

    使用SpringBoot+AOP实现可插拔式日志的示例代码

    这篇文章主要介绍了使用SpringBoot+AOP实现可插拔式日志的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Java微服务实战项目尚融宝接口创建详解

    Java微服务实战项目尚融宝接口创建详解

    这篇文章主要介绍了Java微服务实战项目尚融宝的接口创建流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Netty分布式pipeline管道创建方法跟踪解析

    Netty分布式pipeline管道创建方法跟踪解析

    这篇文章主要为大家介绍了Netty分布式pipeline管道创建方法跟踪解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • Java找出两个大数据量List集合中的不同元素的方法总结

    Java找出两个大数据量List集合中的不同元素的方法总结

    本文将带大家了解如何快速的找出两个相似度非常高的List集合里的不同元素。主要通过Java API、List集合双层遍历比较不同、借助Map集合查找三种方式,需要的可以参考一下
    2022-10-10
  • Spring Boot与Kotlin处理Web表单提交的方法

    Spring Boot与Kotlin处理Web表单提交的方法

    本篇文章主要介绍了Spring Boot 与 Kotlin 处理Web表单提交的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Maven本地jar引用的实现方法

    Maven本地jar引用的实现方法

    这篇文章主要介绍了Maven本地jar引用的实现方法的相关资料,希望通过本文能帮助到大家,实现这样的功能,需要的朋友可以参考下
    2017-10-10
  • java多线程之并发工具类CountDownLatch,CyclicBarrier和Semaphore

    java多线程之并发工具类CountDownLatch,CyclicBarrier和Semaphore

    这篇文章主要为大家介绍了java并发工具类CountDownLatch,CyclicBarrier和Semaphore ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 如何在java 8 stream表达式实现if/else逻辑

    如何在java 8 stream表达式实现if/else逻辑

    这篇文章主要介绍了如何在java 8 stream表达式实现if/else逻辑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Nacos负载均衡策略总结

    Nacos负载均衡策略总结

    Nacos 作为目前主流的微服务中间件,包含了两个顶级的微服务功能:配置中心和注册中心,本文给大家总结了几种Nacos负载均衡策略,通过图文结合介绍的非常详细,需要的朋友可以参考下
    2023-11-11

最新评论