Java反射创建类对象的三种实现方法
2018-01-24 22:01
176 查看
public class Main { public static void main(String[] args) { //Foo的实例对象创建 Foo foo = new Foo("abcdefgh"); //Class类的实例对象 //任何一个类都是Class的实例对象,这个实例对象有三种表示方式 //第一种表示方式----》 实际在告诉我们任何一个类都有一个静态成员方法 Class c1 = Foo.class; //第二种表示方式 已经知道该类的对象通过gtClass方法 Class c2 = foo.getClass(); //c1,c2表示了Foo类的类类型(class type) /**万事万物皆是对象, * 类也是对象,是class类的实例对象 * 这个对象我们称为该类的类类型 * */ //c1 or c2 都代表了Foo类的类类型 ,一个类只能是Class类的对象 System.out.println(c1==c2); //第三种方式 Class c3 = null; try { c3 = Class.forName("Foo"); } catch (ClassNotFoundException e) { e.printStackTrace(); } System.out.println(c2==c3); try { Foo foo1=(Foo) c1.newInstance(); // 需要无参的构造方法 foo1.print(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } //我们完全通过类的类类型创建该类的对象实例---> 通过c1 or c2 or c3 } class Foo{ void print(){ System.< 8108 em>out.println("Foo"); } Foo(String a){ } Foo(){ } }
相关文章推荐
- Java反射的三种实现方式,访问私有方法和私有属性
- 【java高级特性之反射】创建Class对象的三种方法
- 使用反射实现根据名称动态创建窗体的几种方法
- 使用线程创建的三种方法实现j2me联网(PS:我想做android!NND!)
- 使用反射实现根据名称动态创建窗体的几种方法。
- java字符串反转的三种实现方法
- Java中实现list显示的三种方法
- java:ajax实现无跳转刷新的三种方法
- Java实现创建XML文件的方法
- JAVA技巧(Java定时执行任务的实现方法) 定时执行任务的三种方法
- java中利用反射机制实现调用给定为字符串的方法名
- JAVA中创建线程对象的两种方法:继承Thread和实现Runable
- 使用反射实现根据名称动态创建窗体的几种方法。
- java创建对象实例的三种方法
- Spring配置文件的三种方法(创建测试类Test.java)
- Java创建对象实例的三种方法
- java反射中两种方法的不同(反射能否实现对类的私有方法的调用)
- Java创建对象的三种方法
- java反射2——Class类实例化的三种方法
- java实现URL重写的三种方法