gpt4 book ai didi

java - List c1=new Arraylistc1 是什么类型的对象

转载 作者:行者123 更新时间:2023-12-01 08:04:59 26 4
gpt4 key购买 nike

在java集合中

List<Integer>  c1=new Arraylist<Integer> 

这里,c1是一个List类型的对象,它是一个接口(interface),我们不能创建该接口(interface)的对象吗?

有人可以向我解释一下吗?

最佳答案

变量的类型c1List<Integer> 。这仅仅意味着 c1 的值任何时候都必须是 null ,或对其类型实现 List 的对象的引用.

但是,c1 的值所对应的对象的类型执行时指的是ArrayList 。 (它不知道由于类型删除,它被构造为 ArrayList<Integer>。)

区分三个概念非常重要:

  • 变量(例如 c1 )。变量在编译时就有类型。
  • 引用文献(例如 c1 的值)
  • 对象(例如 c1 值所引用的对象)。对象在执行时具有类型(在此之前它不存在)。

如果您能牢记这三点,那么很多事情(例如参数传递、赋值等)都会变得更加简单。

关于java - List<integer> c1=new Arraylist<integer>c1 是什么类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22488307/

26 4 0