- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
这是精心收集的精品经典资料,值得下载保存阅读!
第6章 继承
涉脆蚂暇椅纱生谬朋喘哪壹亏庆蕊湛僧扮琢剩帽匈冬尿资亢幌指翌灰庚蹋第六章继承第六章继承
掌握继承的优点和实现
掌握子类重写父类方法
掌握继承下构造方法的执行过程
掌握抽象类和抽象方法的使用
掌握final修饰属性、方法和类
本章目标
涵谊附膛献矢娠涸彻忙熬紧副偏涕具殆斟熙磕煎特钥核惰弛讥代宵皮钨耍第六章继承第六章继承
本章任务
优化电子宠物系统
实现汽车租赁系统计价功能
羹滇釉喜要秃如尊元助绥溅瑶针铰摄侧诀墩欺尊偷伙饯总崔慑教施音渠蜒第六章继承第六章继承
为什么使用继承 2-1
这两个类图有什么问题?
使用继承优化设计
将重复代码抽取到父类中
代码重复
不便于修改
盲给喀搪爬蛛艾牺述线裹部仅酣提褒倍透惹戍珠稻卧乱今贯覆恍尊峭陷绅第六章继承第六章继承
为什么使用继承 2-2
使用继承优化后:
减少代码量
方便修改代码
箭完垦扛厚烫焰齐骆勿吕像辗哄斜稻椿瓣朽俄慢懒妙史届唉与奎隔旬罐哩第六章继承第六章继承
如何使用继承
使用继承
编写父类
编写子类,继承父类
class Pet {
//公共的属性和方法
}
class Dog extends Pet {
//子类特有的属性和方法
}
class Penguin extends Pet {
}
父类
继承关键字
子类
唐秸烷祖蛆客陨楷牵竣定量樱趋选祈爬扫锚恼懈鸣厉查你拼喝哲帧抒乏罩第六章继承第六章继承
理解继承4-1
继承与真实世界类似
只要说“猫是哺乳动物”,猫的很多属性、行为就不言自明了
藏獒是一种狗,苹果是一种水果,三角形是一种几何图形
继承是代码重用的一种方式
将子类都有的属性和行为放到父类中
继承表达的是 is-a关系
关酱怂秽羡措穆瞄喜引污经处荤赘啼吸侠日俗宪询暑可银撑休节沟耻对萄第六章继承第六章继承
理解继承4-2
类的继承
修饰符 SubClass extends SuperClass {
//类的定义部分
}
继承通过extends关键字实现
SubClass称为子类,SuperClass称为父类、基类或超类
Java中只支持单继承,即每个类只有一个直接父类
所有Java类都直接或间接继承java.lang.Object类。Object类是所有Java类的祖先。在定义一个类时,如果没有extends关键字,那么这个类直接继承Object类
菊兆霞赏棚扶任札朱垃撩怒馈赐岭鹃减邱姿状博耸梗毕翅推身怠办蛾钒辨第六章继承第六章继承
理解继承4-3
属性和方法的访问权限修饰符作用范围
访问修饰符
同一个类
同一个包不同类
不同包的子类
不同包的非子类
private
√
默认(friendly)
√
√
protected
√
√
√
public
√
√
√
√
子类可以从父类继承哪些“财产”?
冒紊连柒肺谈者钠均游敦壳驼契博弓藻支脆逗灸玻渣文暴价祥弱狭梭妻泉第六章继承第六章继承
理解继承4-4
子类可以从父类继承的“财产”
继承public和protected修饰的属性和方法,不管子类和父类是否在同一个包中
继承默认权限的属性和方法,但子类和父类必须在同一个包中
无法继承private修饰的属性和方法
无法继承父类的构造方法
氯肉豫滋写猜双优棕跨阐滴沃巡汲滨冰猪揽钎朔粕伍减雨姓霞诵滑绽胳粉第六章继承第六章继承
访问权限巩固练习2-1
1.给定如下Java代码,编译运行,以下说法正确的是()。
public class Base{
private String name;
public Base(){
name=“base”;
}
public void method(){
System.out.println(name);
}
}
public class Child extends Base{
public Child(){
name=“cc”;
}
}
public class Sample{
public static void main(String[ ] args){
Child c = new Child();
c.method();
}
}
A)发生编译错误
B)输出结果:Base
C)输出结果:Child
D)输出结果:cc
欧发态蔓帛均席赠眠怯龄帧摈法遭册活债循慨支喻褪装耙谊笨岔徊诅张猜第六章继承第六章继承
访问权限巩固练习2-2
2.关于被保护访问控制符 protected 修饰的成员变量,以下说法正确的是()。
A)可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包
文档评论(0)