在实现接口时,方法重写可以实现多态,泛型不可以实现多态,必须要强转才能使用
作者:互联网
1.对于泛型看下面两个例子。
接口类
`public interface Dao
T selectOne(Long id, String pwd);
T selectOne(Long id);
T insert(Account acc);
T[] selectAll();
}`
`
实现类
public class ArrayDao implements Dao
private Account[]arr=new Account[3];//数组容器
private int index;//下标
public ArrayDao() {
}
public Account[] getArr() {
return arr;
}
public void setArr(Account[] arr) {
this.arr = arr;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
@Override
public Account selectOne(Long id,String pwd){
}
/**
* 查询
* @param id
* @return
*/
@Override
public Account selectOne(Long id){
}
//查询所有
@Override
public Account[] selectAll(){
}
/**
* 插入
*/
@Override
public Account insert(Account acc){
}`
测试类
`public static void main(String[]agrs){
Dao dao=new ArrayDao();
dao.selectOne();//返回的是object类型,没用到多态,编译和运行都看左边。
((Arraydao)dao).selctOne();//返回的是Acount类型,必须要强制转换。
`
}
标签:index,Account,arr,实现,id,多态,selectOne,泛型,public 来源: https://www.cnblogs.com/wanyankun/p/13951052.html