java 重载 覆盖_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)定义接口 CacheServicepublic 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("", "");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值