在创建属性中 private List children = new ArrayList() 和 private List children 的区别,为什么要new

在创建属性中 private List children = new ArrayList() 和 private List children 的区别,为什么要new,两者的区别是什么?

private List children相当于
private List children = null;
也就是children在初始化的时候不指向任何对象。
private List children = new ArrayList()
相当于
private List children;
构造函数里
children = new ArrayList();

简单点来说就是 private List children 其实就是一个list集合,但是这个集合没有分配空间,所以是null,而private List children = new ArrayList()相当于创建的时候给他分配了空间,所以你用list.size(),他的集合元素会是0,而且不为null