介面:
package com.itzhouq.demo2;
public
inte***ce
person
需要被增強的方法run()
package com.itzhouq.demo2;
public
class
normalperson
implements
person
}
這裡被裝飾者就是run()方法所在的類
建立乙個裝飾者類,實現run()所在類,實現的介面person
package com.itzhouq.demo2;
public
class
superson
implements
person
@override
public
void
run(
)}
測試
package com.itzhouq.demo2;
import org.junit.test;
/* * 增強乙個物件的方法之二:裝飾者方式
*/public
class
demo
//需求:對普通人的run方法進行增強,由走變成飛
//假裝不知道介面的實現類normalperson,但是要對普通人的run方法進行增強
//不知道實現類就無法使用繼承的方式進行增強
//使用裝飾者解決這樣的問題:
//條件1:裝飾者()和被裝飾者()實現同乙個介面person
//條件2:裝飾者裡面有被裝飾者的引用 在我出生的時候,你把你給我,我對你進行增強
@test
public
void
test2()
}
Spring建立物件的三種方式(面試題)
1.1無參構造建立 預設情況 1.2有參構造建立 需要明確配置 如果設定的條件匹配多個構造方法執行最後的構造方法 index 引數索引,從0開始 name 引數名 type 型別 區分開關鍵字和封裝類int和integer 工廠設計模式 幫助建立類物件,乙個工廠可以生產多個物件 例項工廠 需要先建立...
乙個面試題的分析方法
quote 乙個公司,開始只有 名員工,男 女,開始男員工年薪 萬,女員工1.8萬。以後每下一年年初新招 男 女,初始工資同上。此公司男員工工資年遞增 女遞增 此外每名員工可以根據個人能力,獲得乙個能力工資遞增指數,該指數在 範圍內。男女員工工資達到 萬後,工資漲幅全部統一為 另男員工需要交納 的個...
C 面試題 三種數值交換方法
要求 將數a b的值進行交換,並且不使用任何中間變數。includevoid swapvalue1 int a,int b 使用中間變數交換資料 void swapvalue2 int a,int b 使用加減運算完成資料交換 void swapvalue3 int a,int b 使用位運算交換資...