反射
反射是什么 有什么用
反射是动态语言的基本特征。java是不是动态语言?所谓动态语言就是在代码的运行期才知道变量的类型。java是
静态语言,在反射之前是做不了动态的创建对象这种事的。在jdk1.4之后出现了反射机制,用反射来实现动态语言
的特性。简单来说,反射就是使用动态的方式,创建对象,调用方法,访问属性。
java中反射的使用都是从内置的Class对象开始的。每个类创建好之后都会生成一个Class对象。
Class对象获取的三种方式
package com.aaa.reflect.entity;
public class Person2 {
public static void main(String[] args) throws Exception {
//第一种方式,通过调用Class.forName方法
Class clazz1 = Class.forName("com.aaa.reflect.entity.Person2");
System.out.println(clazz1);
//第二种方式 通过调用来的class对象
Class clazz2 = Person2.class; System.out.println(clazz2);
//第三种方式 通过调用对象的getClass方法
Person2 p= new Person2(); Class clazz3 = p.getClass();
System.out.println(clazz3);
}
}