Reflection是Java被視為動態(或準動態)語言的一個關鍵性質。這個機制允許程序在運行時透過Reflection APIs取得任何一個已知名稱的class的內部信息,包括其modifiers(諸如public,static等等),superclass(例如Object),實現之interfaces(例如Cloneable),也包括fields和methods的所有信息。并可以運行時改變fields內容或喚起methods。
程序運行時,允許改變程序結構或變量類型,這種語言稱為動態語言,從這觀點看,Perl,Python,Ruby是動態語言,而C++,Java,C#是動態語言。
盡管在這樣的定義下與分類下Java不是動態語言,它確實有著一個非常突出的動態相關機制:Reflection(反射,映象,倒影),用在Java身上指的是我們可以在運行時加載,探知,使用編譯期間完全未知的class。
posted on 2007-07-06 11:54
周銳 閱讀(267)
評論(0) 編輯 收藏 所屬分類:
Java