黑马程序员技术交流社区
标题:
定义集合时的问题
[打印本页]
作者:
侯丛政
时间:
2013-2-7 08:30
标题:
定义集合时的问题
本帖最后由 侯丛政 于 2013-2-8 08:09 编辑
看张老师的视频时不理解为什么定义集合的时候大多数用接口引用指向
比如List<String> list = new ArrayList<String>();
为什么不直接写 ArrayList<String> list = new ArrayList<String>(); 呢?
有什么用意吗?
作者:
刘军亭
时间:
2013-2-7 09:27
为了面向接口编程嘛,以后右边也可以用别的集合而左边的类型不用改。只要是都继承List接口就可以。
作者:
黄成超
时间:
2013-2-7 21:05
面向接口的一个最大好处,在于提高程序的拓展性,方便程序的更改维护。就如你说的这个例子。当这个程序要使用Linklist时,即:List<String> list = new LinkList<String>(),因为接口的方法,实现的类都有,所以不需要改其他代码,只需把ArrayList<String>()改为LinkList<String>()就可以了!
作者:
夏振博
时间:
2013-2-8 01:12
本帖最后由 夏振博 于 2013-2-8 01:14 编辑
这是一种设计模式.一个接口有多种实现,这种写法是java面向对象的一种思想,去除了耦合。
这种方式是使用接口引用指向具体实现,这样大大提高了代码使用的灵活性。
你若希望用LinkedList的实现来替代ArrayList的话,只需改动一行即可,而程序中的其它部分不需要改动,这样比较灵活,不会失去通用性。
不过有的时候,你如果能确定后边用的全部是ArrayList,可以使用ArrayList
作者:
侯丛政
时间:
2013-2-8 08:08
夏振博 发表于 2013-2-8 01:12
这是一种设计模式.一个接口有多种实现,这种写法是java面向对象的一种思想,去除了耦合。
这种方式是使用接 ...
讲的很清楚 谢谢
作者:
黑马-周建
时间:
2013-2-14 00:05
用一种语言开发软件,首先需要有支持这种语言的环境。一种语言环境就是使用这种语言的支持,有了语言环境,就可以通过这种语言开发软件让计算机识别和执行。
作者:
黑马-周建
时间:
2013-2-14 00:05
java语言的环境搭建就是安装JDK(Java Development Kit java开发工具包),这个工具包里包含了JRE(java运行环境),如果单是运行一个java程序,只需安装JRE即可。
作者:
黑马-周建
时间:
2013-2-14 00:06
JDK的下载地址是:www.oracle.com
也可以使用老的程序员不能忘记的地址:www.sun.com
作者:
黑马-周建
时间:
2013-2-14 00:06
JRE(Java Runtime Environment java运行环境),包括java虚拟机(JVM),和java程序所需的核心类库等,如果只需运行一个开发好的java程序,计算机中只需安装JRE即可。
作者:
黑马-周建
时间:
2013-2-14 00:07
JDK(java开发工具包),是提供给java开发人员使用的,包含了java开发工具(如,javac.exe和jar.exe等),同时也包含了JRE。
作者:
黑马-周建
时间:
2013-2-14 00:07
我们在安装java开发环境时,只需安装JDK,不需要再次安装JRE,因为JDK中包含了JRE。当然也可以再次安装JRE。
作者:
黑马-周建
时间:
2013-2-14 00:07
安装java开发环境很简单,其实就是一个解压缩的过程。希望大家能顺利通过。
安装好了JDK后,这还不算搭建好java开发环境,还需要配置path环境变量,在JDK1.4之前版本还需要配置classpath环境变量。
作者:
黑马-周建
时间:
2013-2-14 00:07
java语言的开发环境搭建完成后,我们就可以进行java语言的开发了。
作者:
郝强勇
时间:
2013-2-14 15:07
这就是面向接口编程啊,也就是只要是这个接口下的实现类都能实例化这个接口,
也是降低耦合的一种表现,以后我们如果不想用ArrayList集合,想用LinkedList或
是Vector也是可以的啊。
程序的维护也是很重要的啊,不能把程序写成死的,为以后维护增加困难和成本。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2