在Java程序设计语言中,对象变量是多态的,一个超类变量既可以引用一个本类的变量,也可以引用一个该超类的任何一个子类的对象。但是反过来则不成立,不能将一个超类的引用传递给一个子类变量。
public static void main(String[] args) {
Person [] people = new Person[3];
people[0] = new Employee("employee" ,2333,1999,11,11);
people[0].echo();
people[1] = new Student("hehe", "english");
people[1].echo();
people[2] = new Person("zzz");
people[2].echo();
Student [] stu = new Student[3];
stu[0] = new Student("yuyu","math");
stu[0].echo();
//stu[1] = new Employee("employee" ,2333,1999,11,11);//兄弟类直接不能创建实例
//stu[2] = new Person("zzz"); //子类不能创建父类的实例
}
多态的特性与类的继承密不可分,只有类的继承,才会产生多态的情况!
193

被折叠的 条评论
为什么被折叠?



