codeegginterviewgroup / CodeEggDailyInterview

码个蛋每日面试题
396 stars 54 forks source link

反射的原理,反射创建类实例的三种方式是什么? #188

Open kukyxs opened 4 years ago

opkcloud commented 4 years ago

反射机制: 在通常情况下,如果有一个类,可以通过类创建对象;但是反射就是要求通过一个对象找到一个类的名称;

创建Class对象的三种方式: (1)对象.getClass() Class class1 = p1.getClass(); System. out.println(p1.getClass().getName()); Class class2 = p2.getClass(); System. out.println(class1 == class2 );

(2)类.class:需要输入一个明确的类 Class class3 = Person.class; System. out.println(class1 == class2);

(3)forName():传入时只需要以字符串的方式传入即可 Class class4 = null; try { class4 = Class. forName("cn.itcast.Person"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }