java反射机制

1.获取类对象的3种方法:

String className = "charactor.hero";

Class pclass = Class.forName(className);

Class pclass2 = Hero.class;

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

 

2.静态方法被修饰为synchronized的时候,其同步对象就是当前类的类对象

 

3.创建一个对象

反射机制会获取一个类对象,然后通过类对象获取一个构造器,最后通过构造器来创建一个对象

4.获取属性

getField 和getDeclaredField的区别

这两种方法都是用于获取字段

getField只能获取public,包括从父类继承来的字段

getDeclaredField  可以获取本类所有的字段,包括private的,但是不能获取继承来的字段。(注:这里只能获取到private的字段,但并不能访问该private字段的值,除非加上setAccessible(true)

) 

5.方法调用

例如:

Method attackHeroMethod = hero1Class.getMethod("attackHero", Hero.class);
attackHeroMethod.invoke(hero1, hero2);

 

posted @ 2018-03-06 17:40  Zhao_Xu_Jie  阅读(72)  评论(0编辑  收藏  举报