首先要知道使用父类的引用可以指向子类的对象,你例子中定义了数组,应该是这样理解的>> Person[] people = new Person[2]; 定义创建一个数组对象, people是指向数组对象的引用,而不是指向Person对象的引用, 该数组中每个元素是 Person 类型的引用,此时还没有引用具体对象.>>people[0] = new Employee(...); >>people[1] = new Student(...); 该2句实际上是使Person类型的引用指向Employee的对象和Student的对象, 属于向上转型.
多谢楼上各位的提醒啊 现在似乎已经明白其中的意思了 Person[] people = new Person[2]; int[] a =new int[2]; ~~~~~~~~~~~~~~~~~~~~~~ 通过这样做个对比我就明白上面那一句话的意思了我可能把new关键字的作用理解错了
定义创建一个数组对象, people是指向数组对象的引用,而不是指向Person对象的引用,
该数组中每个元素是 Person 类型的引用,此时还没有引用具体对象.>>people[0] = new Employee(...);
>>people[1] = new Student(...);
该2句实际上是使Person类型的引用指向Employee的对象和Student的对象, 属于向上转型.
现在似乎已经明白其中的意思了
Person[] people = new Person[2];
int[] a =new int[2];
~~~~~~~~~~~~~~~~~~~~~~
通过这样做个对比我就明白上面那一句话的意思了我可能把new关键字的作用理解错了