JAVA高階用法 反射(一)

2021-07-25 12:52:04 字數 1290 閱讀 3494

引言:這裡結合工廠模式和介面來記錄對於反射的理解。**和文字部分源於網路。對其進行了重新整理。反射機制對於普通開發者而言,意義不大,一般都是作為一些系統的架構設計去使用的,包括以後學習的開源框架,幾乎都使用了反射機制。

反射概念
package reflection;

public

class

demo

}

獲取class類的三種方法
package reflection;

public

class

demo

}

package reflection;

public

class

demo

}

package reflection;

public

class

demo

}

package reflection;

}public

class

demo

}

應用中的反射
package reflection;

inte***ce fruit

}class factory

return

null;

}}public

class

factorydemo

}/**

* 這是最簡單的工廠設計模式,但是其中有乙個最大的問題:如果現在實現介面的類增加

* 了,那麼factory類肯定需要修改,問題的原因就在與factory類getinstance方法

* 中的new,如果使用反射機制,就可避免該類問題。

*/

package reflection;

inte***ce fruit

}class orange implement fruit

}class factory

catch(exception e)

return temp;

}}public

class

factorydemo

}/**

* 這樣不論實現介面的類有多少,都不需要改動factory類,降低了耦合性

*/

Java 反射用法總結

簡單的來說,就是在程式執行時,獲取類所有屬性和方法資訊 還可以動態建立乙個物件,並且呼叫它的任意乙個方法 訪問和修改任意乙個屬性,包括private修飾的方法和屬性。獲得class物件的三種方法 child child new child class yclass child.getclass cl...

java高階反射之獲取class

前提 在com.jk.bean裡面建立乙個person類,新增get set方法,tostring方法。還有各種私有和公有方法,供測試用。package com.jk.fs import com.jk.bean.person 要想對位元組碼檔案進行解剖,必須要有位元組碼檔案物件 author sx1...

java反射機制的基本用法

1 獲取乙個class物件 class c this.getclass reflectimplement r new reflectimplement 通過類例項獲得 class c1 r.getclass class subclass c1.getsuperclass 通過類例項獲得父類物件 cl...