W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
當(dāng)對已經(jīng)存在的實現(xiàn)類,想重寫其中的個別方法,而又不需要修改或不方便修改已經(jīng)存在代碼的情況下,可以重新寫一個實現(xiàn)類,指定比較高的version值,指定實現(xiàn)的接口,和實現(xiàn)需要重寫的實現(xiàn)類,然后重新重寫指定的方法即可。對之前的接口稍微修改下,如下
public interface ProductDao
{
public List<Product> findAll() throws Exception;
public void save(Product product) throws Exception;
}
第一個實現(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)在需要重寫實現(xiàn)類中的save方法,重寫一個實現(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值外,還有一個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號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: