*第11章继承和多态*引言假设我们将定义类模型的圆,矩形,三角形。这些类都有许多共同的特点。设计这类以避免冗余的最好方法是什么?答案是使用继承。*学习目标通过继承由父类创建子类()。使用关键字super调用父类的构造方法和方法()。在子类中覆盖方法()。区分覆盖和重载的不同()。探究object类中的tostring()方法()。理解多态性和动态绑定(-)。描述转换并解释显示向下转换的必要性()。探究object类中的equeals()方法()。存储,提取和操作ArrayList中的对象()。使用ArrayList实现Stack类()。使用可见性修饰符protected使父类中的数据和方法可以被子类访问()。使用修饰符final防止类的拓展以及方法的覆盖()。*父类和子类GeometricObject1Circle4Rectangle1TestCircleRectangleRun*父类的构造方法被继承吗不,构造方法不能被继承。他们是显式或隐式调用。显式调用使用super关键词。一个构造方法可用来构建一个类的实例。不像属性和方法,父类的构造方法是不被子类继承的。它们只能在子类的构造方法中用关键字super调用。*构造方法链构造方法可以调用重载的构造方法或它的父类的构造方法。如果它们都没有被显式的调用,编译器就回自动地将super()作为构造方法的第一条语句,例如:*使用关键字super调用父类的构造方法。调用父类的方法。关键字super是指使用这个super时的类的父类。关键字super可以用于两种途径:*我们必须使用关键字super调用父类的构造函数在子类中调用父类的构造函数的名字,将导致一个语法错误Java要求关键词super必须出现在子类构造方法的第一个行。使用关键字super*lassFacultyextendsEmployee{publicstaticvoidmain(String[]args){newFaculty();}publicFaculty(){("(4)Faculty'sno-argconstructorisinvoked");}} classEmployeeextendsPerson{publicEmployee(){this("(2)InvokeEmployee’soverloadedconstructor");("(3)Employee'sno-argconstructorisinvoked");} publicEmployee(Strings){(s);}} classPerson{publicPerson(){("(1)Person'sno-argconstructorisinvoked");}}构建一个类的实例时,将会调用沿着继承链的所有父类的构造方法。这就是构造方法链。*lassFacultyextendsEmployee{publicstaticvoidmain(String[]args){newFaculty();}publicFaculty(){("(4)Faculty'sno-argconstructorisinvoked");}} classEmployeeextendsPerson{publicEmployee(){this("(2)InvokeEmployee’soverloadedconstructor");("(3)Employee'sno-argconstructorisinvoked");} publicEmployee(Strings){(s);}} classPerson{publicPerson(){("(1)Person'sno-argconstructorisinvoked");}}
java概述课件11继承和多态 来自淘豆网m.daumloan.com转载请标明出处.