Java反射
2015-12-01 15:03
204 查看
Class类,他是一个描述类的类
要领悟这个技能,需要获取Class对象,而获取Class对象的方式有一下3种:
1.Class.forName("类全名"),
这种方式会抛出ClassNotFoundException异常,如果知道类的全名,则可以使用静态方法的这个方式获得Class对象,它不能在原始类型上,但可以用在原始类型数组上。例如:
Class c1 = Class.forName("java.lang.String");
System.out.println(c1.getName());//获取对象名称
复制代码
输出结果:java.utils.Date
2.类名.class,
如果类型可用但没有对象,则可以在类型后加上".class"来获得Class对象。这也是使原始类型获得Class对象的最简单的方式。例如:
Class c2 = boolean.class;
System.out.println(c2.getName());//获取对象名称
复制代码
输出结果:boolean
3.对象.getClass(),
如果一个类的对象可用,则最简单的获得Class的方法是使用Object.getClass(),不过这种方式只对引用类型有用。例如:
Class c3 = new Date().getClass();
System.out.println(c3.getName());//获取对象名称
复制代码
输出结果:java.lang.String
要领悟这个技能,需要获取Class对象,而获取Class对象的方式有一下3种:
1.Class.forName("类全名"),
这种方式会抛出ClassNotFoundException异常,如果知道类的全名,则可以使用静态方法的这个方式获得Class对象,它不能在原始类型上,但可以用在原始类型数组上。例如:
Class c1 = Class.forName("java.lang.String");
System.out.println(c1.getName());//获取对象名称
复制代码
输出结果:java.utils.Date
2.类名.class,
如果类型可用但没有对象,则可以在类型后加上".class"来获得Class对象。这也是使原始类型获得Class对象的最简单的方式。例如:
Class c2 = boolean.class;
System.out.println(c2.getName());//获取对象名称
复制代码
输出结果:boolean
3.对象.getClass(),
如果一个类的对象可用,则最简单的获得Class的方法是使用Object.getClass(),不过这种方式只对引用类型有用。例如:
Class c3 = new Date().getClass();
System.out.println(c3.getName());//获取对象名称
复制代码
输出结果:java.lang.String
相关文章推荐
- an error has occurred. java.lang.nullpointerexception
- Eclipse NDK 开发Unresolved inclusion:<jni.h>
- spark出现GC overhead limit exceeded和java heap space
- 转:java 看好的一些书
- Java中Runnable和Thread的区别
- spring mvc 传递对象 二
- java基本语法
- java.util.Calendar 时间工具类
- StringUtils 的用法
- spring mvc 和mybatis整合 的异常处理
- 分布式事务——Spring.ChainedTransactionManager
- 【Struts2】(4)复杂对象传递
- java调用动态链接库
- Java transient关键字使用小记
- 01-3安装离线springsource-tool-suite的时候非常缓慢问题解决方案
- java中文本框和文本区
- Java-----根据IP地址获取详细的地域信息
- eclipse 中git解决冲突
- 解惑 spring 嵌套事务
- myeclipse中的js文件报错