s[0]=new Work("");
s[1]=new Student("");
这两句实际上是实例化了Person的两个子类的对象,再把子类的对象赋值给他的父类,因为在JAVA中规定可以声明抽象类的变量。
Person[] s = new Person[2];这句只是把S声明为Person类型的数组并分配内存空间。
而变量S在编译的时候是按照它声明的类型来处理,在运行时则是按照它实际的类型处理。
s[1]=new Student("");
这两句实际上是实例化了Person的两个子类的对象,再把子类的对象赋值给他的父类,因为在JAVA中规定可以声明抽象类的变量。
Person[] s = new Person[2];这句只是把S声明为Person类型的数组并分配内存空间。
而变量S在编译的时候是按照它声明的类型来处理,在运行时则是按照它实际的类型处理。