黑马程序员技术交流社区

标题: List是接口还是类呢 [打印本页]

作者: hellotaomi    时间: 2015-6-5 10:23
标题: List是接口还是类呢
今天在API上看到有两个List,如图:   分别打开,上面的那个写着为类 ,且能实例化,并列出了实例化的例子: ,下面那个打开则说是接口 ,那List到底是接口还是类啊?

求大神帮忙解答!

作者: qq853636281    时间: 2015-6-5 10:48
接口!!!!你不能直接  new list,只能new 它的子类

作者: forTomorrow    时间: 2015-6-5 10:53
前面那个在java.awt包下,是图形界面编程中的List组件,好像是下拉列表,记不清了,后面那个List是集合中的接口,不要混淆
作者: 路途遥远    时间: 2015-6-5 10:59
本帖最后由 路途遥远 于 2015-6-5 11:05 编辑

确实是有两个List,但是它们在不同的包,作用也不一样。
1. 在java.util包下的List是接口,细心看API你会发现它是这样定义的
java.util
Interface List<E>
它的作用类似与数组用来存放一系列相同类型的变量的。如

  1. import java.util.ArrayList;
  2. import java.util.List;

  3. public class TestList {

  4.         public static void main(String[] args) {
  5.                 List<String> list = new ArrayList<String>();
  6.                 list.add("a");
  7.                 list.add("b");
  8.                 for(int i=0; i<list.size(); i++) {
  9.                         System.out.println(list.get(i));
  10.                 }
  11.                
  12.         }

  13. }
  14. 运行结果:
  15. a
  16. b
复制代码


2.在java.awt包下的List是类。
java.awt包含用于创建用户界面和绘制图形图像的所有类。List是用户界面的一个组件。
比如你登录某个网站,填个人信息的时候,性别那项是个下拉列表,包括男女两项。这个可以说是一个List。
当然这个不是用java.awt.List这个类实现的。只是看起来相似的组件。

作者: 给点正能量    时间: 2015-6-5 11:03
确实有两个,但在不同的包里面
作者: wangkai    时间: 2015-6-5 13:51
学习学习
作者: 光头强    时间: 2015-6-5 15:16
在java.awt用于创建用户界面和绘制图形图像包中的类, 而在java.util 包集合当中是接口    注意多查阅API  以免混淆
作者: pp7803515    时间: 2015-6-5 15:18
这是不同的包下面不同的东西吧。。。一个是组件,一个是数据存放的方式吧。
作者: kmlitheima    时间: 2015-6-5 21:18
API上有表明是接口!
作者: pizhihui    时间: 2015-6-5 21:22
目前学到的List是接口,继承了Collection接口,是一个集合。这个接口是在java.util包下的。
但是也有一个List类,那个类是在java.awt。并且API描述里有这样一句话:List 组件为用户提供了一个可滚动的文本项列表。可设置此 list,使其允许用户进行单项或多项选择。这个估计是GUI的吧。
作者: kmlitheima    时间: 2015-6-5 21:25
API上有表明是接口!
作者: 悦鹏    时间: 2015-6-5 21:31
好吧。我还看不懂哦!
作者: 12300123    时间: 2015-6-5 22:03
两个list所在的包都不一样,没有看到?jdk里不光是list,好多重名的,不过重名必然不在同一个包下,即代表不同的意思,就像人有重名的一样,不是一个人的。
作者: 银哥    时间: 2015-6-5 22:07
学习一下
作者: java8023    时间: 2015-6-5 22:53
有两个啊,awt包的是类,另一个是集合啊,接口啊,包不同
作者: 少年闰土    时间: 2015-6-6 09:54
public interface List<E>extends Collection<E>

是接口
作者: 夏尔    时间: 2015-6-6 10:06
集合的那个是借口 只能创建它的子类对象
作者: 追忆似水年华    时间: 2015-6-6 11:54
是接口在使用时,一般用泛型的形式使用。
作者: wuyusi    时间: 2015-6-6 20:28
学习学习
作者: 付欢    时间: 2015-6-6 20:49
学习一下
作者: 小车车    时间: 2015-6-6 21:01
在awt包下,List是类。
作者: 施洋    时间: 2015-6-6 21:05
学习了,是有点傻傻分不清楚
作者: 黯然残影    时间: 2015-6-6 21:19
不同包下的List
作者: 黯然残影    时间: 2015-6-6 21:20
不同包下的List。
作者: ZYZQ    时间: 2015-6-6 23:55
应该不是同一个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2