本帖最后由 黄秋 于 2012-3-11 04:29 编辑
多态的理论、好处,我就不啰嗦了,只举一例,有时还必须用到多态:- public static void main(String args[]){
- String[] s={"aa","bb","b3"};
- List<String> list=new ArrayList<String>();
- list=Arrays.asList(s);
- // List<String> list=Arrays.asList(s);
- System.out.println(list);
- }
复制代码 1、上面的 list,不能定义为ArrayList,否则报“不兼容的类型”,因Arrays.asList(s) 返回的是List。至于它为何返回List,因 List则实现它的类都可用,象LinkedList。否则,要有多个:asArrayList,asLinkedList,……
2、如你所见,List<String> list=Arrays.asList(s); 一句顶两句,但有时我们需要定义与赋值分开的,且多态更灵活。追求代码短的话,List<String> list=Arrays.asList("aa","bb","b3"); 一句顶三句。
3、兄弟,不要new List() 啊,原因自己分析。JAVA的规矩就这样,细则也多,慢慢体会,品味吧! |