java基础知识 第5章 子类与继承

上传人:第*** 文档编号:34023313 上传时间:2018-02-20 格式:DOCX 页数:8 大小:26.04KB
返回 下载 相关 举报
java基础知识 第5章 子类与继承_第1页
第1页 / 共8页
java基础知识 第5章 子类与继承_第2页
第2页 / 共8页
java基础知识 第5章 子类与继承_第3页
第3页 / 共8页
java基础知识 第5章 子类与继承_第4页
第4页 / 共8页
java基础知识 第5章 子类与继承_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《java基础知识 第5章 子类与继承》由会员分享,可在线阅读,更多相关《java基础知识 第5章 子类与继承(8页珍藏版)》请在金锄头文库上搜索。

1、 编程学习网 编程学习网第 5 章 子类与继承5.1 子类与父类1)继承是一种由已有的类创建新类的机制。2)Java 不支持多重继承,即子类只能有一个父类。5.1.1 声明子类例如:class Student extends People.把 Student 类定义为 People 的子类。5.1.2 类的树形结构如果 c 是 b 的子类,b 又是 a 的子类,习惯上称 c 是 a 的子孙类。Java 的类按照继承关系形成树形结构,在这个树形结构中根节点是 Object 类(Object类是 java.lang 包中的类),即 Object 类是所有类的祖先类。如果一个类的声明中没有使用 ex

2、tends 关键字,这个类被系统默认认为是 Object 的子类。5.2 子类的继承性5.2.1 子类和父类在同一包中的继承性如果子类和父类在同一包中,那么子类自然地继承了父类中不是private 的成员变量和方法。5.2.2 子类和父类不在同一包中的继承性 编程学习网 编程学习网子类和父类不在同一包中时,父类中的 private 和友好访问权限的成员变量不会被子类继承。子类只继承父类中的 protected 和 public 访问权限的成员变量5.2.3 继承关系的 UML 图。5.2.4 protected 的进一步说明5.3 子类与对象5.3.1 子类对象的特点1).当子类的构造方法创建

3、一个子类的对象时,不仅子类中声明的成员变量被分配了内存,而且父类的成员变量也都被分配了内存空间。但只将子类继承的那部分成员变量作为分配给子类对象的变量。即子类不继承父类的私有成员变量。2).如果子类和父类不在同一包中,尽管父类的友好成员变量分配了内存空间,但也不作为子类对象的变量,即如果子类和父类不在同一包中,子类不继承父类的友好成员变量。5.3.2 关于 instanceof 运算符 编程学习网 编程学习网5.4 成员变量的隐藏和方法重写5.4.1 成员变量的隐藏子类声明的成员变量和从父类继承来的成员变量名字相同,子类就会隐藏所继承的成员变量。子类继承的方法只能操作子类继承和隐藏的成员变量,

4、子类新定义的方法可以操作子类继承和子类新声明的成员变量,但无法操作子类隐藏的成员变量(需使用 super 关键字操作隐藏的成员变量。)5.4.2 方法重写 (Overwride)1)子类通过重写可以隐藏已继承的方法。2)重写规则:子类继承了父类的某个方法,子类就有权重写这个方法,是指子类中定义了一个方法,这个歌方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型。3)重写目的: 子类通过方法重写可以隐藏继承的方法,子类通过方法重写可以把父类的状态和行为改变为自身的状态和行为。4)重写方法既可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量,和子类新定义的其他方法,

5、但无法操作被子类隐藏的成员变量和方法。必须使用 super 关键字。5.5 super 关键字5.5.1 用 super 操作被隐藏的成员变量和方法1)子类一旦隐藏了继承的成员变量和方法,那么子类创建的对象就无法拥有该变量和方法,需使用 super 关键字。例子: 编程学习网 编程学习网1234567891011121314151617181920212223242526272829303132class Sum int n;float f()float sum=0;for(int i=1;iy?x:y;4)abstract 类不能有 new 运算符创建对象* 如果一个非抽象类是某个抽象类的子

6、类,那么它必须“重写”父类的抽象方法,给出方法体,所以不允许同时使用 final 和 abstract 同时修饰一个方法或者类的原因。5)abstract 类的对象作上转型对象abstract 类不能使用 new 运算符创建对象,但是该对象可以成为子类对象的上转型对象,这样就可以调用子类重写的方法。5.10 面向抽象编程1)使用多态进行程序设计的核心技术之一是使用上转型对象,即将 abstract类声明的对象作为其子类对象的上转型对象,那么这个上转型对象就可以调用子类重写方法。2)所谓面向抽象编程,是指当设计某种重要的的类时,不让该类面向具体的类,而是面向抽象类,即所设计类中的充要数据是抽象类声明的对象,而不是具体类声明的对象。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号