javaExercise

反射机制

1.获取类对象(类对象概念: 所有的类,都存在一个类对象,这个类对象用于提供类本身的信息,比如有几种构造方法, 有多少属性,有哪些普通方法。)

String className = "charactor.Hero";

 Class pClass1=Class.forName(className);

 Class pClass2=Hero.class;

 Class pClass3=new Hero().getClass();


2.  创建一个对象

//使用反射的方式创建对象

String className = "charactor.Hero";

//类对象

Class pClass = Class.forName(className);

//获取构造器对象

Constructor c = pClass.getConstructor();

//通过构造器实例化

Hero h2 = (Hero) c.newInstance();


//使用反射的方式创建对象

String className = "charactor.Hero";

//类对象

Class pClass = Class.forName(className);

//通过类对象实例化(Class.newInstance() 里面其实也是调用的Constructor.newInstance())

Hero h2 = (Hero) pClass.newInstance();


3.通过反射机制修改对象的属性

getField和getDeclaredField的区别(这两个方法都是用于获取字段getField只能获取public的,包括从父类继承来的字段。getDeclaredField 可以获取本类所有的字段,包括private的,但是不能获取继承来的字段。 (注: 这里只能获取到private的字段,但并不能访问该private字段的值,除非加上setAccessible(true))

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容