java反射之获取Class对象

一、非基本数据类型

1、调用静态方法Class.forName(String className),参数为完整的类名,包括包的名字

      Class.forName("p1.Person");  //p1是包名,Person是类名

      Class.forName("oracle.jdbc.driver.OracleDriver");

2、调用Object类中定义的getClass()方法

      Person p = new Person();

      Class c1 = p.getClass();

      Class c2 = "HelloWorld".getClass();

3、使用.class表达式

      Class c1 = String.class;

      Class c2 = p1.Person.class; //这里可以省略包名

二、针对基本数据类型及void

1、使用.class表达式(class只是约定的标记,不是成员属性)

      Class c1 = int.class;

      Class c2 = double.class;

      Class c3 = void.class;

2、调用相应封装类的.TYPE属性

     Class c1 = Integer.TYPE;  //返回int类型

     Class c2 = Double.TYPE;

     Class c3 = Void.TYPE;

你可能感兴趣的:(java反射之获取Class对象)