java泛型 原生类 赋值时

class Fruit { }
public class Test {
public static void main(String[] args) {
List list1 = new ArrayList();
//list list2 = new ArrayList();
}

list2报错我是知道的,但是我不明白list1作为原生类为什么可以被赋值为ArrayList呢?

ArrayList是对List的一种实现。

List是接口,不是原生类。