Jack_King007的专栏

java基础之反射(1认识class类)

(1)认识class类
正常情况下 ,必须知道一个类的完整路径之后才可以实例化对象,但是在java中也允许通过一个对象找到其所在累的信息
那么这实际上就是class类的功能


实例化 class类对象的方法有三种


第一种 通过forName()方法
第二种 类.class 

第三种: 对象.getclass

下面用代码来演示一下,其实也是用以上三种方法得到包名

package KownClass;

class X {

}

public class test1 {
	public static void main(String[] args) {

		Class<?> c1 = null;
		Class<?> c2 = null;
		Class<?> c3 = null;// 指定泛型
		// 以下的操作形式是在开发中最常用的一种形式
		try {
			//传入完整的包名 名称实例化对象
			c1=Class.forName("KownClass.X");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		c2=new X().getClass();//通过Object类中的方法实例化
		
		c3=X.class;//通过类.class实例化
	System.out.println("类名称:"+c1.getName());
		System.out.println("类名称:"+c2.getName());
		System.out.println("类名称:"+c3.getName());
	}
}
输出结果为:

类名称:KownClass.X
类名称:KownClass.X
类名称:KownClass.X

其实最主要掌握的方法forName()重点掌握 ,类.class