標籤:java基礎
重載,一個java類裡有多個同名的方法,但參數列表不同,見下面代碼:
public class Caller { /** * 喊叫 * * @param callMan * 呼喊者 * @param callContent * 呼喊內容 */ public void call(String callMan, String callContent) { System.out.println("I am " + callMan + ", I will call " + callContent); } /** * 喊叫 * * @param callContent * 呼喊內容 */ public void call(String callContent) { System.out.println("I am hellokitty, I will call " + callContent); }}
2. 重寫和覆蓋是一個概念,子類和父類有同名的方法名,且參數列表完全一致,在運行中子類的方法完全覆蓋父類方法.
使用情境,系統要支援多種緩衝機制,memcache,ehcache各實現一套方法
(1)定義介面 CacheService
public interface CacheService { /** * 緩衝 * * @param cacheKey * 緩衝key * @param cacheContent * 待緩衝內容 */ public void cache(String cacheKey, Object cacheContent);}
(2) EhcacheCacheImpl實現:
public class EhcacheCacheServiceImpl implements CacheService { @Override public void cache(String cacheKey, Object cacheContent) { System.out.println("Cached by ehcache!"); }}
(3) MemcacheServiceImpl實現:
public class MemcacheServiceImpl implements CacheService { @Override public void cache(String cacheKey, Object cacheContent) { System.out.println("Cached by memcache!"); }}
(4)測試
public class CacheTest { public static void main(String[] args) { CacheService cacheService1 = new EhcacheCacheServiceImpl(); cacheService1.cache("", ""); CacheService cacheService2 = new MemcacheServiceImpl(); cacheService2.cache("", ""); }}執行結果:Cached by ehcache!Cached by memcache!
(5)如果結合Springs使用,可以通過修改設定檔的方式,靈活修改實現。
import org.springframework.beans.factory.annotation.Autowired;public class CacheTest1 { @Autowired private CacheService cacheService; private void cache(String cacheKey, Object cacheContent) { cacheService.cache(cacheKey, cacheContent); } public static void main(String[] args) { CacheTest1 newCacheTest = new CacheTest1(); newCacheTest.cache("", ""); }}
本文出自 “12314480” 部落格,請務必保留此出處http://12324480.blog.51cto.com/12314480/1875421
JAVA 重載,重寫(覆蓋)個人理解