W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
當(dāng)對(duì)已經(jīng)存在的實(shí)現(xiàn)類,想重寫其中的個(gè)別方法,而又不需要修改或不方便修改已經(jīng)存在代碼的情況下,可以重新寫一個(gè)實(shí)現(xiàn)類,指定比較高的version值,指定實(shí)現(xiàn)的接口,和實(shí)現(xiàn)需要重寫的實(shí)現(xiàn)類,然后重新重寫指定的方法即可。對(duì)之前的接口稍微修改下,如下
public interface ProductDao
{
public List<Product> findAll() throws Exception;
public void save(Product product) throws Exception;
}
第一個(gè)實(shí)現(xiàn)類如下
@Implement
public class ProductDaoImpl implements ProductDao
{
public List<Product> findAll() throws Exception {
System.out.println("ProductDaoImpl findAll 111");
return null;
}
public void save(Product product) throws Exception {
System.out.println("ProductDaoImpl save 111");
}
}
現(xiàn)在需要重寫實(shí)現(xiàn)類中的save方法,重寫一個(gè)實(shí)現(xiàn)類如下
@Implement(version=3,implement=ProductDao.class)
public class ProductDaoImpl3 extends ProductDaoImpl
{
@Override
public void save(Product product) throws Exception {
System.out.println("ProductDaoImpl3 save 333");
}
}
注意注解中除了比較高的version值外,還有一個(gè)implement,用來指定接口
調(diào)用如下
ProductDao productDao=(ProductDao)Factorys.getImpl(ProductDao.class);
System.out.println("productDao="+productDao);
productDao.findAll();
productDao.save(null);
輸出
productDao=demo.dao.impl.ProductDaoImpl3@7da79447
ProductDaoImpl findAll 111
ProductDaoImpl3 save 333
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: