面試題 增強乙個物件的方法的三種方式

2021-09-19 06:40:06 字數 979 閱讀 6654

介面:

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 使用位運算交換資...