实例化Class类对象的三种方法 java反射必备
(2012-03-21 12:59:33)
标签:
java
三
杂谈
前言:
java.lang.Class;
public final class Class extends
Object implements Serializable, GenericDeclaration, Type,
AnnotatedElement;
Class
没有公共构造方法。Class对象是在加载类时由Java虚拟机以及通过调用类加载器中的defineClass方法自动构造的。
public String getName();
用法如:Class.class.getName(),表示以String的形式返回此Class对象所表示的实体(类、接口、数组类、基本类型或void)名称。
正文:
第一种:通过forName()方法;
第二种:类.class;
第三种:对象.getClass()。
举例如下:
package test;
public class Demo{
public static void main(){
Class> c1 = null;
Class> c2 = null;
Class> c3 = null;
//三种反射用实例化方式
try{
//最常用的一种形式
c1 = Class.forName("test.X");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
//通过Object类中的方法实例化
c2 = new X().getClass();
//通过类.class实例化
c3 = X.class;
System.out.println("类名:" + c1.getName()); //得到类名
System.out.println("类名:" + c2.getName()); //得到类名
System.out.println("类名:" + c3.getName()); //得到类名
}
}
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。