搞懂Java的反射机制
生活随笔
收集整理的這篇文章主要介紹了
搞懂Java的反射机制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
搞懂Java的反射機制
1.什么是反射?
java的反射機制是指可以在運行狀態下獲取類和對象的所有屬性和方法。
2.反射的作用?
1、在運行時獲取一個類/對象的成員變量和方法
2、在運行時創建一個類的對象
3、在運行時判斷一個對象是否屬于一個類
3.反射有哪些具體的應用場景?
1、JDBC連接數據庫時,使用Class.forName()通過反射加載數據庫的驅動。
2、Spring的IOC (控制反轉)
使用的就是工廠模式+反射的原理,需要使用到的類事先在配置文件中先聲明,需要時根據配置的類名動態生成對象。
4.反射的缺點?
反射代碼的執行速度慢,性能差,如果有其他方案可以替代,建議不使用。
5.如何獲取類對象?
1、Class.forName(“xxx”)
try {clazz = Class.forName("com.reflection.User"); } catch (ClassNotFoundException e) {e.printStackTrace(); }2、通過對象的getClass()方法
Class clazz = user.getClass();3、直接通過類名獲取類對象
Class clazz = User.class;6.如何通過反射創建對象?
1、調用無參構造器
try {clazz = Class.forName("com.reflection.User"); } catch (ClassNotFoundException e) {e.printStackTrace(); } Object obj = clazz.newInstance();2、調用有參構造器
try {clazz = Class.forName("com.reflection.User"); } catch (ClassNotFoundException e) {e.printStackTrace(); } Constroctor constroctor = clazz.getConstructor(String.class,Integer.class); Object obj = constroctor.newInstance("龍哥", 29); 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的搞懂Java的反射机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql+tushare搭建本地数据库
- 下一篇: 面试常考的数据结构Java实现