Java註解 反射

2021-09-11 04:12:37 字數 1316 閱讀 3572

annotation的作用:

不是程式本身,可以對程式做出解釋。(這一點,跟注釋沒什麼區別)

可以被其他程式(比如:編譯器等)讀取。

annotation的格式:註解是以「@注釋名」在**中存在的,還可以新增一些引數值,例如:@suppresswarning(value = 「unchecked」)。

annotation在**使用:可以附加在package,class,method,field等上面,相當於給它們新增了額外的輔助資訊,我們可以通過反射機制程式設計實現對這些元資料的訪問。

反射機制:

指的是可以於執行時載入、探知、使用編譯期間完全未知的類。

程式在執行狀態中,可以動態載入乙個只有名稱的類,對於任意乙個已載入的類,都能夠知道這個類的所有屬性和方法;對於任意乙個物件,都能夠呼叫它的任意乙個方法和屬性;

載入完類後,在堆記憶體中,就產生了乙個class型別的物件(乙個類只有乙個class物件),這個物件就包含了完整的類的結構資訊。我們可以通過這個物件看到類的結構,所以,形象的稱之為:反射。

建立型模式:單例模式、工廠模式、抽象工廠模式、建造者模式、原型模式。

結構型模式:介面卡模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、**模式。

行為型模式:模板方法模式、命令模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、直譯器模式、狀態模式、策略模式、職責鏈模式、訪問者模式。

單例模式

核心作用:保證乙個類只有乙個例項,並且提供乙個訪問該例項的全域性訪問點。

優點:常見的五種單例模式的實現方式:

主要:其他:

餓漢式實現

/*

測試餓漢式單例模式

*/public class singletondemo1

//方法沒有同步,呼叫效率高!

public static singletondemo1 getinstance()

}

懶漢式實現

/**

* 測試懶漢式單例模式

* @author: o.won

* @date: 2019/2/21 21:15

* @version 1.0

*/public class singletondemo2

//方法同步,呼叫效率低!

public static synchronized singletondemo2 getinstance()

return instance;

}}

工廠模式

物件導向設計的基本原則:

java再複習 通過反射讀取註解

通過反射讀取類的註解與屬性的註解的相關常用api public class annoationtest public static void main string args throws classnotfoundexception 通過反射載入類 classclazzclass class cl...

反射和註解

反射 通過乙個類的 類物件 可以使用它自身的方法,來建立例項,呼叫成員 1.獲得 類物件 方法區中,載入所有的類,都是乙個class型別的物件 class.forname string 類名 類名為全稱 類名.class 物件.getclass 2.反射建立例項 class c class.forn...

反射和註解

類名.class 通過類名的屬性class獲取 物件.getclass getclass 方法在object類中定義著。結論 同乙個位元組碼檔案 class 在一次程式執行過程中,只會被載入一次,不論通過哪一種方式獲取的class物件都是同乙個。獲取功能 獲取成員變數們 獲取構造方法們 獲取成員方法...