一、能够获得信息:某个类的数据成员、方法和构造器、某个类实现了那些接口函数
对于每一个类来讲,JRE都为其保留一个不变的Class类型的对象this
一个Class类型的对象包含特定某个类有关的信息spa
二、Class对象只能由系统创建code
三、一个类再JVM中只会有一个Class实例对象
四、每一个类都会记得本身由那个Class实例生成blog
一、经过.class接口
Class clazz = null; clazz = Person.class;
二、经过getClass()方法get
Class clazz = null; clazz = new Person().getClass();
三、经过Class对象的forName()静态方法获取:全类名的方式io
Class clazz = null; try { clazz = Class.forName("refelect.Person"); } catch (ClassNotFoundException e) { e.printStackTrace(); }
public static Class<?> forName(String className) |
返回指定类名name的Class对象 |
public T newInstance() |
调用缺省的构造函数,返回Class对象的一个实例 |
public String getName() |
返回此Class对象所表示的实体名称 |
Class<? super T> getSuperclass() |
返回当前Class对象对象的父类的CLass对象 |
Class<?>[] getInterfaces() |
获取当前Class对象接口 |
public ClassLoader getClassLoader() |
返回此类的类加载器 |
public class Person { String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Person(String name, int age) { this.name = name; this.age = age; } public Person() { } }
newInstance()方法:调用的是无参的构造器table
Class clazz = Class.forName("refelect.Person"); //利用Class的newInstance()方法来建立一个对象 Object o = clazz.newInstance(); System.out.println(o);
解析类路径下的文件
JDBC链接数据的相关获取的方法