码迷,mamicode.com
首页 > 编程语言 > 详细

java 反射机制与动态加载类学习要点

时间:2015-12-05 17:56:20      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:java   接口   动态   反射   

获取Class类的对象:

假设Foo是一个类,Foo foo = new Foo();则

第一种:Class c1 = Foo.class;

第二种:Class c2 = foo.getClass();

第三种:Class c3 = Class.forName("com.nudt.reflection.Foo"); //会抛出异常

此时  c1 == c2 == c3 为true


也可以通过c1\c2\c3创建Foo的实例:

Foo foo = (Foo)c1.newInstance();  //前提:Foo具有无参数的构造方法


动态加载类(运行时加载类):

Class c = Class.forName(类全称);

(Animal) a = (Animal)c.newInstance();

其中Animal是个接口,运行时要加载的类继承该接口,并且创建自己的无参数构造方法


获取某个方法对象:

方法的反射操作:

method.invoke()


java中集合的泛型是防止错误输入的,在编译之后,就没有泛型存在了

可以通过方法的反射来绕过编译,讲int放入List<String>中

java 反射机制与动态加载类学习要点

标签:java   接口   动态   反射   

原文地址:http://muyunzhe.blog.51cto.com/9164050/1719842

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!