获得 Class 对象的方式有三种,
1、 类名.class
2、实例.getClass()
3、Class.for("java.lang.Integer");我想问的问题是:
用这3 种方式去获得 Class 对象的功能一样么?
我的意思是,如果JVM中 已经有 该类或还没有该类,
不知道他们去获得对象的过程中,过程应该一样的哦?
1、 类名.class
2、实例.getClass()
3、Class.for("java.lang.Integer");我想问的问题是:
用这3 种方式去获得 Class 对象的功能一样么?
我的意思是,如果JVM中 已经有 该类或还没有该类,
不知道他们去获得对象的过程中,过程应该一样的哦?
解决方案 »
- 求高手。。jquery getJSON 跨域访问的同步问题。。。。。急!!!!!
- 求java入门书。。
- 在JSP中怎么把数据库中的信息显示出来
- 关于poi 的研究
- 怎麼樣獲得mysql數據庫中某表中某字段的描述或者注釋?
- Java计算器显示屏的实现问题
- 同时显示一个JFrame和一个JDialog,在没有点击JDialog确定前不能点击JFrame,怎么做?
- JAVA中关键字和保留字是同一个感念吗
- 在win2k下用jb4写的java程序,移植到linux下中文显示有误
- java 如何 post数组?
- 新手求解答 急急急急急~~~~~~~~~~
- java Console类 readLine(String fmt, Object... args)
对象(对于基本数据类型的封装类还可以通过.TYPE的方式获取其Class 对象,但要注
意.TYPE实际上获取的封装类对应的基本类型的Class 对象的引用,那么你可以判断出
int.class==Integer.TYPE返回true,int.class==Integer.class返回false!),通过这种方式
不会初始化静态域,使用.class、.TYPE的方式获取Class对象叫做类的字面常量;
2.Class的forName(String name)传入一个类的完整类路径也可以获得Class对象,但由于使
用的是字符串,必须强制转换才可以获取泛型的Class<T>的Class对象,并且你必须获取这
个方法可能抛出的ClassNotFoundException异常。
2.对于引用数据类的引用(必须初始化),可以通过Object类继承的getClass()方法获取这
个引用的Class对象,由于引用已经被初始化,所以这种方式也不会初始化静态域,因为静
态域已经被初始化过。另外,前面两种方式如果说是创建Class对象,那么这种方式应该是
取得Class对象,因为类的实例已经被创建,那么Class对象也一定早就被创建。