首先看下Class类 ,普通的非泛型类Class。

注意:class是java的关键字, 在声明java类时使用;

Class类的实例表示Java应用运行时的类(class ans enum)或接口(interface and annotation)(每个java类运行时都在JVM里表现为一个Class对象,可通过类名.class,类型.getClass(),Class.forName("类名")等方法获取Class对象)。数组同样也被映射为为Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本类型boolean,byte,char,short,int,long,float,double和关键字void同样表现为 Class  对象。

T  bean ;

Class<T> bean;

Class<?> bean;

在利用反射获取属性时,遇到这样的写法,对此专门查些资料研究了一下。

单独的T 代表一个类型 而 Class<T>和Class<?>代表这个类型所对应的类

Class<T>在实例化的时候,T要替换成具体类
Class<?>它是个通配泛型,?可以代表任何类型

<? extends T>受限统配,表示T的一个未知子类。
<? super T>下限统配,表示T的一个未知父类。

public T find(Class<T> clazz, int id);
根据类来反射生成一个实例,而单独用T没法做到。

Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的类型类。类型类指的是代表一个类型的类,因为一切皆是对象,类型也不例外,在Java使用类型类来表示一个类型。所有的类型类都是Class类的实例。getClass() 会看到返回Class<?>。

JDK中,普通的Class.newInstance()方法的定义返回Object,要将该返回类型强制转换为另一种类型;

但是使用泛型的Class<T>,Class.newInstance()方法具有一个特定的返回类型;

感谢并节选自:http://blog.csdn.net/witewater/article/details/53462385

T和ClassT以及Class?的理解相关推荐

  1. 通用解题法——回溯算法(理解+练习)

    积累算法经验,积累解题方法--回溯算法,你必须要掌握的解题方法! 什么是回溯算法呢? 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就&quo ...

  2. stream流对象的理解及使用

    我的理解:用stream流式处理数据,将数据用一个一个方法去 . (点,即调用) 得到新的数据结果,可以一步达成. 有多种方式生成 Stream Source: 从 Collection 和数组 Co ...

  3. Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)

    1. 理解输入和输出 1.1 标准文件描述符 Linux 系统将每个对象当作文件处理.这包括输入和输出进程.Linux 用文件描述符(file descriptor)来标识每个文件对象.文件描述符是一 ...

  4. java局部变量全局变量,实例变量的理解

    java局部变量全局变量,实例变量的理解 局部变量 可以理解为写在方法中的变量. public class Variable {//类变量static String name = "小明&q ...

  5. 智能文档理解:通用文档预训练模型

    预训练模型到底是什么,它是如何被应用在产品里,未来又有哪些机会和挑战? 预训练模型把迁移学习很好地用起来了,让我们感到眼前一亮.这和小孩子读书一样,一开始语文.数学.化学都学,读书.网上游戏等,在脑子 ...

  6. 熵,交叉熵,散度理解较为清晰

    20210511 https://blog.csdn.net/qq_35455503/article/details/105714287 交叉熵和散度 自己给自己编码肯定是最小的 其他的编码都会比这个 ...

  7. mapreduce理解_大数据

    map:对不同的数据进行同种操作 reduce:按keys 把数据规约到一起 看这篇文章请出去跑两圈,然后泡一壶茶,边喝茶,边看,看完你就对hadoop 与MapReduce的整体有所了解了. [前言 ...

  8. 文件句柄和文件描述符的区别和理解指针

    句柄是Windows用来标识被应用程序所建立或使用的对象的唯一整数,Windows使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等.Windows句柄有点象C语言中的文件句柄. ...

  9. 通俗理解条件熵-数学

    就是决策树里面选划分属性用到的计算 条件熵越小表示划分之后各个集合越纯净 前面我们总结了信息熵的概念通俗理解信息熵 - 知乎专栏,这次我们来理解一下条件熵. 我们首先知道信息熵是考虑该随机变量的所有可 ...

最新文章

  1. ServiceMesh究竟解决什么问题?
  2. C++ static与const用法详解
  3. 山西计算机等级考试科目一模拟试题,2011山西省计算机等级考试试题 二级ACCESS一点通科目一...
  4. Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装
  5. leetcode - 64. 最小路径和
  6. React中组件间通信的方式
  7. 不再惧怕!二叉树结构相关算法总结 | 原力计划
  8. 22号大更新网站大面积降权的原因分析
  9. 修改鼠标手形 闪烁 在填写文字内容后也一直在闪烁
  10. LayaAir destroy 销毁与 removeChild 移除节点
  11. 存档修改 html,制作可以修改.rpgsave存档的网页
  12. 用谷歌浏览器下载网页视频
  13. 实验三(无线局域网组成与管理实验)
  14. 面向接口编程思想(面向对象思想)
  15. 科学计算机怎么算四分位数,科学网—四分位数间距 - 贺小星的博文
  16. 一个在线运行的Taro小程序完整实例
  17. latex tex studio 表格大小 整体缩小 过长 过宽 跨栏 跨页
  18. PowerTool下载(“啥文件都能删,啥病毒都解决” 工具)
  19. linux下几种目标文件的分析
  20. Access 一些内部函数(Access 帮助里) .

热门文章

  1. JsonCpp的简单使用方法
  2. oracle的后缀名,oracle表空间名字的后缀 :.ora和.dbf有什么不同?
  3. oracle报12541错误,记录一次oracle无缘无故就无监听,报TNS-12541等错误的问题
  4. 多线程的实现方式_Java中线程的状态及多线程的实现方式
  5. wps android qq 群,手机WPS怎样发送文档给QQ?WPS怎样发送文档给QQ教程
  6. java 主线程_Java中的主线程 - Break易站
  7. php通过浏览器下载json文件遇到的问题
  8. navicatformysql
  9. 【深度学习入门到精通系列】遗传算法 (Genetic Algorithm)
  10. python【Matlibplot绘图库】-主要概念