package com;import java.util.*;
public class CollectionOp2 {
private static String str[]={"one","two","three","four","five"}; /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Collection c=new ArrayList();//ArrayList c=new ArrayList;?
for(int i=0;i<str.length;i++)
if(c.add(str[i]))
System.out.println("adding\""+str[i]+"\"");
if(c.remove(str[0]))
System.out.println("removing\""+str[0]+"\"");
System.out.println("Collection:"+c);
System.out.println("Collection's size:"+c.size());
System.out.println("Is Collection empty?"+c.isEmpty());
System.out.println("Dose collection contain"+str[0]+"?"+c.contains(str[0]));
System.out.println("Dose collection contain"+str[1]+"?"+c.contains(str[1]));
}}
Collection c=new ArrayList();
ArrayList c=new ArrayList;
我想问的问题就是上面的两行有什么区别?在书本这样定义的Collection c=new ArrayList();
但我可以像这样定义ArrayList c=new ArrayList;Collection ArrayList 這兩個都是类吗?
ArrayList 是Collection子类吗?
高手请教,谢谢。
public class CollectionOp2 {
private static String str[]={"one","two","three","four","five"}; /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Collection c=new ArrayList();//ArrayList c=new ArrayList;?
for(int i=0;i<str.length;i++)
if(c.add(str[i]))
System.out.println("adding\""+str[i]+"\"");
if(c.remove(str[0]))
System.out.println("removing\""+str[0]+"\"");
System.out.println("Collection:"+c);
System.out.println("Collection's size:"+c.size());
System.out.println("Is Collection empty?"+c.isEmpty());
System.out.println("Dose collection contain"+str[0]+"?"+c.contains(str[0]));
System.out.println("Dose collection contain"+str[1]+"?"+c.contains(str[1]));
}}
Collection c=new ArrayList();
ArrayList c=new ArrayList;
我想问的问题就是上面的两行有什么区别?在书本这样定义的Collection c=new ArrayList();
但我可以像这样定义ArrayList c=new ArrayList;Collection ArrayList 這兩個都是类吗?
ArrayList 是Collection子类吗?
高手请教,谢谢。
在java中可以将实现了接口的类的引用赋值给接口的.
这两种赋值还是有区别的,
Collection c=new ArrayList();
引用c只能引用Collection中的方法和ArrayList类中方法的交集.(实例方法实际上调用的还是ArrayList中的方法)
这种方式主要用于多态中使用.
ArrayList c=new ArrayList;
就是一般的了,没有什么可以说的,当然ArrayList中的所有方法都可见.
你看看多态方法的文章就明白了,其实还有很多细节上的问题没说
比如什么时候是采用动态绑定,什么时候是静态绑定.