package com.bjpowernode;
public class User {
private int age;
public String name;
public void m1() {
System.out.println("我是m1方法");
}
}
----------------------
package com.bjpowernode;
/**
* 获取User的Class类型对象的三种方式
*
*/
public class Test01 {
public static void main(String[] args) throws ClassNotFoundException {
//第一种,全限定名,建议使用这种方式
Class<?> c1 = Class.forName("com.bjpowernode.User");
//第二种,调用Object类中的getClass方法
User u = new User();
Class<?> c2 = u.getClass();
//第三种,每个类型都有class属性
Class<?> c3 = User.class;
//每个类在JVM里面只有一个对应的Class类型的对象
System.out.println(c1==c2);
System.out.println(c2==c3);
}
}
-------------------------
package com.bjpowernode;
/**
* 利用反射创建User类的对象
*
*/
public class Test02 {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
//User user = new User();
//首先获取User的Class类型的对象
Class<?> c = Class.forName("com.bjpowernode.User");
//创建该类的实例
Object o = c.newInstance();
System.out.println(o);
}
}