CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

请叫高手:一个基础问题

楼主crkjqwm(crkjqwm)2006-03-03 14:34:37 在 Java / J2SE / 基础类 提问

 
    List   contentIdList   =   new   ArrayList();  
    ArrayList   contentIdList   =   new   ArrayList();  
    List   contentIdList=null  
   
  上面三中定义的区别在那里?  
  问题点数:50、回复次数:5Top

1 楼interpb(曾曾胡,深怕情多累美人!)回复于 2006-03-03 14:42:35 得分 0

List   contentIdList   =   new   ArrayList();   //定义一个接口的引用,实际指向一个接口的实现类  
                                                                                  的对象      
                                                                                   
                                                                                  通过   contentIdList     只能调用接口中的方法,不能  
                                                                                  调用   ArrayList中的扩充的方法  
   
                                                                                  最常用的定义方式  
   
  ArrayList   contentIdList   =   new   ArrayList();   //就是定义一个ArrayList   引用,并创建一个    
                                                                                          ArrayList   的对象,没有上面的定义的限制  
                                                                                          但可移植差,不推荐  
   
  List   contentIdList=null                                     //定义一个引用,没有指向任何实际的对象,  
                                                                                        还需要赋值后才能调用方法,不然有空指针异常  
   
   
   
  另外,第一种就相当于,下面的组合写法  
   
  List   contentIdList=null   ;  
  contentIdList   =   new   ArrayList();  
   
   
   
  Top

2 楼TK2006(改个名,好听点~~)回复于 2006-03-03 14:50:32 得分 0

上楼的讲的很清楚了了  
  Collection  
  ├List  
  │├LinkedList  
  │├ArrayList  
  │└Vector  
  │ └Stack  
  └Set  
   
  Top

3 楼liukang520236(【从不上CSDN的全自动智能灌水机】)回复于 2006-03-03 14:51:55 得分 0

楼上超强!  
  偷学到了!  
  赶紧闪人!  
   
  Top

4 楼crazycy(崔毅,blog:http://www.blogjava.net/crazycy/)回复于 2006-03-03 14:53:15 得分 0

(a)List   contentIdList   =   new   ArrayList();  
  (b)ArrayList   contentIdList   =   new   ArrayList();  
  (c)List   contentIdList=null  
  //////////////////////////  
  java中推崇面向接口编程,也就是说构造具体类的实例的话,要用具体类的构造函数,但是返回给消费客户端应该返回抽象类实例或者接口类实例;(a)满足这个原则,(b)不满足这个原则;(c)只是声明了一个引用,这个引用将指向List型的对象。Top

5 楼bysp(白杨树皮)回复于 2006-03-03 15:04:56 得分 0

studyTop

相关问题

  • 真正叫基础的问题,我的入门者,请教!TKS
  • 请教基础问题?
  • 请教个基础问题
  • 基础知识请教!!
  • 请问一个基础题
  • 请教fastreport基础问题
  • 请教fastreport基础问题
  • 基础类问题请教
  • 基础问题请教
  • 请教一道基础题

关键词

  • 接口
  • null
  • contentidlist
  • arraylist
  • 引用
  • 定义
  • 调用
  • 实例
  • 指向
  • 对象

得分解答快速导航

  • 帖主:crkjqwm

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo