使用List items = new ArrayList() 比 ArrayList items= new ArrayList()的封装有哪些更多功用吗?

来源:百度知道 编辑:UC知道 时间:2024/05/29 13:22:20
package com.books.business;

import java.util.ArrayList;
import java.util.List;

public class Car {

private List items = new ArrayList();
private BookDao dao = new BookDao();
//private ArrayList<CarItem> array = new ArrayList<CarItem>();
//以后肯定会用到这个items,只能调用这个类的方法才能用到这个需要的不是成员的成员;
//并不是多余的一步;
public List getItem(){
return items;
}
//new 出一个ArrayList()的构造方法之对象items封装在List中,
//items这个实例可变数组找到
public CarItem get(String isbn){
for(int i=0;i<items.size();i++){
CarItem b = (CarItem)items.get(i); //获得购书b
if(b.equals(isbn)){ //如果有此书的编号这返回此书b--并购入此书;
return b;
}
}
return null;
}
public void add(CarItem item){ //声明一个添加书目的方法;
CarItem tempItem = get(item.getIsbn());//从item中得到Isbn-->调用上面的get()方法然后在这里获得这本书;其目的是对读者所选择的书个判断是否还有这本书!有则得到并写入内存;;无则购物车为空
if(tempItem !=null){ //判断不为空,存在

List 是一个接口。

ArrayList 实现了List接口,所以ArrayList 实现了List的所有方法,所以可以使用
List items = new ArrayList(),

同时使用
ArrayList items= new ArrayList()

也是完全没有问题!!!
但是假设 ArrayList 里面定义了一个自己的方法,
那么通过 List items = new ArrayList(), 是没法访问的。区别就在这里!

其实这里的你用那个都区别不大,都可以访问到List接口的所有方法.

有时候我们为什么要用List items = new ArrayList(),
呢!!
我们假设 MyList也实现了List接口,
那么我们便也可以 List myItems =new MyList();

所以通过不同的构造List对象,但确有不同的实现,这样就类似的实现了多继承。

推荐你去看看java的23种设计模式。

你就知道啦!!!祝你好运