服务器之家

服务器之家 > 正文

Java源码解析之GenericDeclaration详解

时间:2021-01-25 11:43     来源/作者:青楼有罪

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

GenericDeclaration

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

源码

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

概述

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

源码详解

1.getTypeParameters

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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详解的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

原文链接:http://blog.csdn.net/a327369238/article/details/52710827

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
返回顶部