这样理解:
java除了primary都是类,对象,引用的概念Point是一种类型,Point[]是另一种类型(这就是为什么推荐这样写,而不写成Point a []),a是这种类型的变量如果只声明:Point[] a; a为null
如你所写:Point[] a = new Point[n];a有了值。
但java没有对a中存放的引用赋值,java不知道要哪些对象的引用
只有你明确地告诉java,如:
a[i] = new Point();

Point onePoint = new Point();
a[i] = onePoint;