欢迎来到天天文库
浏览记录
ID:43092059
大小:351.00 KB
页数:20页
时间:2019-09-29
《JAVA全套简明教程ch09 - 继承和多态》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java程序设计第9章继承和多态学习目标理解类继承的概念以及父类和子类的关系理解super关键字掌握方法覆盖理解多态性、动态绑定和对象的强制类型转换理解数据字段和静态方法的隐藏掌握修饰符:protected、final了解ArrayList类Employee和ManagerpublicclassEmployee{publicStringname;publicdoublesalary;publicDatebirthDate;publicStringgetDetails(){...}}publicclassManager{publicStringname;public
2、doublesalary;publicDatebirthDate;publicStringdepartment;publicStringgetDetails(){...}}继承publicclassEmployee{publicStringname;publicdoublesalary;publicDatebirthDate;publicStringgetDetails(){...}}publicclassManagerextendsEmployee{publicStringdepartment;}Employee+++namesalarybirthDate:St
3、ring:double:Date+getDetails():StringManager+department:String父类和子类语法classClassNameextendsSuperclass{classbody}如果classC1extendsC2,则称C1为子类(subclass),C2为父类(superclass)。子类继承了父类中可访问的数据和方法,子类也可添加新的数据和方法,子类不继承父类的构造函数。一个类只能有一个直接父类。继承ManagerEmployeeEmployee的数据Employee的方法Employee的数据Manager的数据Em
4、ployee的方法Manager的方法例几何对象类编写程序,父类GeometricObject,两个子类Circle和Rectangle。Example:v1/Circle.java,v1/Rectangle.java,v1/TestCircleRectangle.javasuper关键字调用父类的构造函数super(parametersopt)调用父类的的构造函数。必须是子类构造函数的第一条语句。如果子类中没有显式地调用父类的构造函数,那么将自动调用父类不带参数的构造函数。父类的构造函数在子类构造函数之前执行。调用父类的成员super.datasuper.met
5、hod(parameters)Example:ConstructorDemo.java方法覆盖如果子类重新定义了从父类中继承的实例方法,称为方法覆盖(methodoverride)。仅当方法是可访问的实例方法时,才能被覆盖,即私有方法不能被覆盖。静态方法不能被覆盖,如果静态方法在子类中重新定义,那么父类方法将被隐藏。一旦父类中的方法被覆盖,则不能从子类外部访问被覆盖的方法。在子类中可以使用super引用被覆盖的方法。Example:v2/Circle.java,v2/Rectangle.java,v2/TestCircleRectangle.javaOverrid
6、eTest.java覆盖与重载publicclassTest{publicstaticvoidmain(String[]args){Aa=newA();a.p(10);}}classB{publicvoidp(inti){}}classAextendsB{publicvoidp(inti){System.out.println(i);}}publicclassTest{publicstaticvoidmain(String[]args){Aa=newA();a.p(10);}}classB{publicvoidp(inti){}}classAextendsB{pu
7、blicvoidp(doublei){System.out.println(i);}}Object类java.lang.Object类是所有类的父类。如果一个类在声明时没有指定父类,那么这个类的父类是Object类。equals方法:用于测试两个对象是否相等。Object类的默认实现是比较两个对象是否引用同一个对象。toString方法:返回代表这个对象的字符串。Object类的默认实现是返回由类名、@和hashCode组成。多态性、动态绑定当调用实例方法时,由Java虚拟机动态地决定所调用的方法,称为动态绑定(dynamicbinding)或为多态(polymo
8、rphis
此文档下载收益归作者所有