List list = new ArrayList(); 是什么意思??
这个是不是子类对象给父类引用??
与泛形很相关吗?
[解决办法]
嗯 你理解的没错
不应该和泛型扯上关系吧 当然 你可以定义泛型
[解决办法]
是的。
但是安全起见,可以直接指定要存储的类型。
比如我要往ArrayList中存String类型的数据:
List<String> list = new ArrayList<String>();
[解决办法]
应该叫做用父类的引用指向子类的对象。
不过不是泛型。
[解决办法]
no泛型,only引用
[解决办法]
[解决办法]
list有很多实现类 我们需要arraylist的一些性质 当然要new它的对象 这里应该有多态的感觉吧
[解决办法]
兄弟们。。。都太有才了。。。
[解决办法]
<T>这个东西是泛型的在jdk1.5之后出现的.
List list = new ArrayList();
这是个典型的向下转型,即多态性的表现.
因为list是一个接口,接口的方法需要被覆写才能够直接拿过来使用.
[解决办法]
Animal a=new Monkey();
猴子也是动物的一种。
[解决办法]
可以用来实现泛型List<type> list = new ArrayList<type>();
[解决办法]
这样做应该为了程序的可扩展性。
父类实例化子类对象。
[解决办法]
List是接口,new ArrayList是实例化
[解决办法]
人 = 小明
[解决办法]
[解决办法]
List list = new ArrayList();
这是用父类的引用指向子类对象,与泛型没有关系。
面向接口编程都是这么写的。
就这一行代码并不能体现有什么好处
看下面的这个方法你应该就会明白
public void test(List list) {
//do something...
}
如果这个方法带的参数是ArrayList类型的,那么只有ArrayList的对象才可以传过来
而现在是用List做为参数,就表示只要是List接口的子类对象都可以传进来,如ArrayList,LinkedList,Vector
[解决办法]
java 是面向接口编程的
[解决办法]
List是一个接口,ArrayList是一个实现了List接口的具体类。
他们是父子关系,我们常用的是ArrayList,但常用List的引用去操作ArrayList
这是一个简单的面向接口编程的一种,如:List myList = new ArrayList();
[解决办法]
就是JAVA中多态的体现
[解决办法]
就是JAVA中多态的体现
[解决办法]
多态性
[解决办法]
List是接口,ArrayList是实现了List接口的类,大家都说了,呵呵!
[解决办法]
面向接口编程,实现松耦合
[解决办法]
OO思想的体现
[解决办法]
------解决方案--------------------
List为接口,不是类
new ArrayList()为类的构造实现。
而List list = new ArrayList();
就是调用ArrayList()构造函数,返回List接口。
[解决办法]
同意relidgon的观点 我顶
[解决办法]
给你看看ArrayList类的结构就知道了:
- Java code
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable
[解决办法]
使用范型吧 会让你提高效率的 范型可以说是与List分不开的 说没有关系的人是没学jdk1.5
List<type> list = new List<type>(); 看上去麻烦,用上去更好。
[解决办法]
父类的引用指向子类的对象,这应该是多态的体现。
Animal a=new Monkey();
猴子也是动物的一种。从Monkey向上转型到Animal可能会“缩小”接口,但不会比Animal的全部接口更窄。