第10章继承本章目标掌握继承的优点和实现方式掌握方法重写掌握super关键字的作用掌握子类对象实例化的过程掌握Object类的作用及主要的常用方法掌握final关键字的作用掌握抽象类和抽象方法的作用掌握接口的基本概念在Java中如何实现继承子类对象的实例化过程super关键字的作用访问修饰符本章内容为什么需要继承如何实现方法重写Object类的常用方法final关键字的作用abstract关键字的作用重写与实现的关系接口的相关概念本章小结方法重写的特点为什么需要继承面向对象的三大特征封装可以提高程序的安全性继承可以提高代码的复用性多态可以提高程序的可扩展和可维护性为什么需要继承类是对对象的抽取,而继承则是对一批类的抽取,即从一批类中抽取出相同的属性或方法归纳总结为父类,而被抽取的类则称为子类继承必须要满足的关系is-a的关系:具体是抽象的,比如说,香蕉is-a水果Teacheris-aPersonStudentis-aPersonPerson是对Student和Teacher两个类的抽取,所以Person称为父类,Student和Teacher称为子类如何实现继承实现继承的步骤编写父类编写子类,子类使用extends继承父类案例:实现继承示例10-.;lassPerson{//父类}示例10-.;lassTeacherextendsPerson{//子类}.;lassStudentextendsPerson{//子类}继承的特性单根性一个子类只能有一个直接父类案例:继承的单根性传递性间接父类父类子类生活中的“富三代”案例:继承的传递性示例10-.;lassCextendsA{}//.;lassCextendsB{}//.;lassCextendsA,B{}示例10-.;lassA{publicdoublemoney=500;}.;lassBextendsA{}.;lassCextendsB{}.;lassTest{publicstaticvoidmain(String[]args){Cc=newC();();}}super关键字super英文的意思是超级,在Java中指代的是父类,只能出现在子类当中super关键字的作用访问父类的非私有属性语法格式::()调用父类的构造方法(要求必须是子类构造方法中第一句代码) 调用父类的无参构造方法super()调用父类的带参构造方法super(实际值)this与super不能同时出现在子类的构造方法中,因为都要求是构造方法中第一句代码案例:使用super访问父类的非私有方法和非私有属性案例:使用super关键字调用父类的构造方法示例10-.;lassPerson{//父类privateStringname;privateintage;privateStringgender;publicdoublemoney;//……省略取值赋值的方法publicPerson(){}publicPerson(Stringname,intage,Stringgender,doublemoney){=name;=age;=gender;=money;}}.;lassStudentextendsPerson{//子类publicvoidshow(){("姓名:"+()+"奖学金:"+);}}示例10-.;lassStudentextendsPerson{publicStudent(){ super();}publicStudent(Stringname,intage,Stringgender,doublemoney){ super(name,age,gender,money);}}子类对象的实例化过程子类对象的实例化过程 创建子类对象时,会调用直接父类的构造方法(默认调用无参,指定之后调用有参),直接父类继承向上调用其父类的构造方法,直到调到Object的无参构造方法从Object类的无参构造方法开始执行,然后执行Object的子类的属性赋值,再执行构造方法,…最后要创建的对象的属性赋值,再执行构造方法,最后将堆中的地址赋给栈内存的变量所引用案例:实例化子类对象的执行顺序示例10-.;lassTest{publicstaticvo
Java程序设计教程第10章-继承 来自淘豆网m.daumloan.com转载请标明出处.