java之反射基础

反射,主要是指通过类加载,动态的访问,检测和修改类本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改所描述行为的状态和相关的语义

反射操作的核心概念“一切的操作都将使用Object完成。类、数组的引用都可以使用Object进行接受”

反射方式:

获取目标类的Class对象→得到类的完整信息→取得实例化的对象

实例化Class类创建演示

package ClassTest;
/**
 * Class类实例化对象的三种方法
 * 方法一:forName(类的完整路径),返回class对象
 * 方法二:类.class,返回Class对象
 * 方法三:类对象.class()对象,返回类对象对应的类的Class对象
 */
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

/**
 * 实例化Class类,及演示方法使用
 * 
 * @author Administrator
 *
 */
public class ClassDome {
	public static void main(String[] args) {
		Class<?> cl = null;
		/*
		 * 使用class方法的静态方法forName()指定路径实例化class对象,抛出异常
		 */
		try {
			cl = Class.forName("java.lang.Integer");
			System.out.println("cl:  " + cl);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		/*
		 * 使用类.class常见Class实例
		 */
		Class<Integer> cl1 = Integer.class;
		System.out.println("cl1:  " + cl1);
		/*
		 * 使用实例对象实例化Class对象,调用getClass方法
		 */
		Class<Integer> cl2 = new Integer(0).getClass();
		System.out.println("cl2:  " + cl2);
		}
}

猜你喜欢

转载自blog.csdn.net/coco_love24/article/details/80685737