利用反射创建User类的对象

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);

}

}

上一篇:CS224d 单隐层全连接网络处理英文命名实体识别tensorflow


下一篇:2017-2018-1 我爱学Java 第三周 作业