生活随笔
收集整理的這篇文章主要介紹了
聊聊Java反射
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
反射是Java最重要的特性。通過Java反射可以在運行時知道一個類的所有成員和方法,知道一個對象的類類型、成員和方法的所有信息,進而調(diào)用對象的方法或生成對象的代理或包裝類。Java是面向?qū)ο笳Z言,除了靜態(tài)變量或原始數(shù)據(jù)類型外都是完全面向?qū)ο蟮摹C總€類定義也都是Class的實例變量,它表示類的類定義,類的方法、成員變量、構(gòu)造函數(shù)都可以抽象理解為對象,其中Method代表類成員方法對象的類類型,Filed代表成員變量對象的類類型,Constructor代表構(gòu)造函數(shù)對象的類類型;獲取一個類的類類型可以通過它的靜態(tài)變量class實現(xiàn),比如A.class;獲取一個對象的類類型可以通過調(diào)用它的getClass()方法實現(xiàn);獲取通過一個類全限定名通過Class.forName獲取它的類類型。知道類類型即Class對象后,就可以知道它的所有成員變量或方法,進而進行各種操作。反射的最大的作用是根據(jù)配置文件生成對象或動態(tài)加載類,從而解耦類與類或模塊與模塊間耦合,盡可能的將異常延后。比如JDBC中常通過Class.fornName方法動態(tài)的加載驅(qū)動類,從而方便的可以替換驅(qū)動類,并且不會因為具體的驅(qū)動類不存在而無法編譯。class1.getMethods()返回該類對象所有的public類型的方法,包括從父類繼承的方法。class1.getDeclaredMethods()返回所有該類自己定義的方法,不包含父類繼承過來的方法。JAVA反射學習網(wǎng)摘
Java基礎(chǔ)之反射
總結(jié)
以上是生活随笔為你收集整理的聊聊Java反射的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。