A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hellotaomi 中级黑马   /  2015-6-5 10:23  /  7309 人查看  /  24 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天在API上看到有两个List,如图:   分别打开,上面的那个写着为类 ,且能实例化,并列出了实例化的例子: ,下面那个打开则说是接口 ,那List到底是接口还是类啊?

求大神帮忙解答!

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

24 个回复

倒序浏览
接口!!!!你不能直接  new list,只能new 它的子类
回复 使用道具 举报
前面那个在java.awt包下,是图形界面编程中的List组件,好像是下拉列表,记不清了,后面那个List是集合中的接口,不要混淆
回复 使用道具 举报
本帖最后由 路途遥远 于 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这个类实现的。只是看起来相似的组件。
回复 使用道具 举报
确实有两个,但在不同的包里面
回复 使用道具 举报
学习学习
回复 使用道具 举报
在java.awt用于创建用户界面和绘制图形图像包中的类, 而在java.util 包集合当中是接口    注意多查阅API  以免混淆
回复 使用道具 举报
这是不同的包下面不同的东西吧。。。一个是组件,一个是数据存放的方式吧。
回复 使用道具 举报
API上有表明是接口!
回复 使用道具 举报
目前学到的List是接口,继承了Collection接口,是一个集合。这个接口是在java.util包下的。
但是也有一个List类,那个类是在java.awt。并且API描述里有这样一句话:List 组件为用户提供了一个可滚动的文本项列表。可设置此 list,使其允许用户进行单项或多项选择。这个估计是GUI的吧。
回复 使用道具 举报
API上有表明是接口!
回复 使用道具 举报
好吧。我还看不懂哦!
回复 使用道具 举报
两个list所在的包都不一样,没有看到?jdk里不光是list,好多重名的,不过重名必然不在同一个包下,即代表不同的意思,就像人有重名的一样,不是一个人的。
回复 使用道具 举报
学习一下
回复 使用道具 举报
有两个啊,awt包的是类,另一个是集合啊,接口啊,包不同
回复 使用道具 举报
public interface List<E>extends Collection<E>

是接口
回复 使用道具 举报
集合的那个是借口 只能创建它的子类对象
回复 使用道具 举报
是接口在使用时,一般用泛型的形式使用。
回复 使用道具 举报
学习学习
回复 使用道具 举报
学习一下
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马