java反射1—获取class文件对象

package com.windy.reflect;


/*
 * 反射:就是通过class文件对象,去使用该文件中的成员变量,构造方法,成员方法。
 * 
 * Person p = new Person();
 * p.使用
 * 
 * 要想这样使用,首先你必须得到class文件对象,其实也就是得到Class类的对象。
 * Class类:
 * 成员变量 Field
 * 构造方法 Constructor
 * 成员方法 Method
 * 
 * 获取class文件对象的方式:
 * A:Object类的getClass()方法
 * B:数据类型的静态属性class
 * C:Class类中的静态方法
 * public static Class forName(String className)
 * 
 * 一般我们到底使用谁呢?
 * A:自己玩 任选一种,第二种比较方便
 * B:开发 第三种
 * 为什么呢?因为第三种是一个字符串,而不是一个具体的类名。这样我们就可以把这样的字符串配置到配置文件中。
 */
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException {
//方法1
Person p1=new Person();
Class c1=p1.getClass();

Person p2=new Person();
Class c2=p2.getClass();
System.out.println(c1==c2);//true


//方法2
Class c3=Person.class;
System.out.println(c3==c2);//true

//方法3

Class c4=Class.forName("com.windy.reflect.Person");  
System.out.println(c3==c4);//true

}

}


获取class文件路径:

java反射1—获取class文件对象