如何理解Java的类反射机制?案例详解教i

反射:针对性地映射 某一个完整事务的行为或特征(单独操作类中任意内容)
1、反射机制 - 获取对象
- 
什么是类对象? 类对象,就是用于描述这种类,都有什么属性,什么方法。 
- 
对象之前的区别? gareen 和 teemo都是 Hero对象,他们的区别在于:各自有不同的名称、血量、技能。 
- 
类之间的区别? Hero 和 soldier 都是类,他们的区别在于有:不同的方法,不同的属性。 
- 
获取类对象的3种方式 - Class.forName
- Hero.class
- new Hero().getClass()
 package reflection; import charactor.Hero; public class TestReflection { public static void main(String[] args) { String className = "charactor.Hero"; try { Class pClass1=Class.forName(className); Class pClass2=Hero.class; Class pClass3=new Hero().getClass(); System.out.println(pClass1==pClass2); System.out.println(pClass1==pClass3); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2、反射机制 - 访问属性
2.1、getField 和 getDeclaredField的区别
getDeclaredField: 获取本类所有字段(无视权限访问修饰符) 适用于获取当前类
getField:只能获取public字段,包括从父类继承来的字段 适用于获取父类public
3、反射固定步骤:
3.1、获取
- 1、获取对象 Class
- 2、通过类对象获取内容(成员方法、成员变量)
- 3、设置类外可用(暴力反射,private)
3.2、执行
- 1、通过类对象获取类的构造方法
- 2、通过构造方法创建对象
- 3、调用
 最后注意:光理论是不够的。在此顺便送大家十套2020最新JAVA架构项目实战教程及大厂面试题库,进我扣裙 :七吧伞吧零而衣零伞 (数字的谐音)转换下可以找到了,还可以跟老架构师交流本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号