java继承详解

super是一个指示编译器调用超类方法的特殊关键字

子类构造器一定要调用父类的构造器,而且是子类构造器第一条语句,因为子类继承父类的域,所以要先对父类的域进行初始化,故要调用父类构造器

一个对象变量可以指示多种实际类型的现象被称为多态,在运行时能够自动地选择调用哪个方法的现象称为动态绑定

可以把子类对象赋给超类变量,由于多态的现象,变量的类型不是那么重要,重要的是变量引用的数组对象究竟是什么类型,这也决定了能赋给数组值的兼容类型有哪些

  • 例如:Manager[] managers = new Manager[10];
  • Employee[] staff = managers;  staff和managers引用的是同一个数组  每一个Manager都是Employee,这是成立的,但是如果对staff[i]赋一个Employee对象的引用,由于staff是Employee类型的,编译可能会通过,但是实际上staff引用的是Manager的数组,这就意味着把一个超类对象存到了子类的数组里,这是不合法的,因为数组真正类型是Manager,只能把Manager对象存到数组里
  • 所有数组都要牢记创建它们的元素类型,并负责监督仅将类型兼容的引用存储到数组中

 

posted @ 2016-11-08 23:49  下雨天MJ  阅读(92)  评论(0)    收藏  举报