- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章面向对象编程(下);本章内容;第一节 类的继承;面向对象特征之二:继承;示 例—Employee类;继 承(2) ;示 例—Manager类;为什么要有继承?
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。提高了代码的复用性。
继承的出现让类与类之间产生了关系,可以创建更为特殊的类型。
利于可维护性。
此处的多个类称为子类,单独的这个类称为父类(基类或超类)。可以理解为:“子类 is a 父类”
类继承语法规则:
class Subclass extends Superclass{ };类的继承 (4);类的继承 (5);练 习;继承中的私有成员;示 例—Employee类;示 例—Manager类;示 例—Test类;练 习;练 习; 方法的重写(override);示 例—Employee类;示 例—Manager类;示 例—Test类;在PC类中,覆盖getDetails方法,方法返回PC机的详细信息。
在Test类中调用getDetails方法,确认输出结果。;;访问控制分析; 关键字super;示 例—Employee类;示 例—Manager类;示 例—Test类;在PC类中,改写的覆盖getDetails方法,使用super调用。
在Test类中调用getDetails方法,确认输出结果。;调用父类的构造器;示 例—Employee类;示 例—Manager类;示 例—Test类;示 例—Employee类;示 例—Manager类;示 例—Test类;This和super的区别;思考:
1).为什么super(…)和this(…)调用语句不能同时在一个构造器中出现?
2).为什么super(…)或this(…)调用语句只能作为构造器中的第一句出现?;示 例—Employee类;示 例—Manager类;示 例—Test类;练 习;综合练习;第二节 多 态; 面向对象特征之三:多态性;示 例—Person类;示 例—Student类;示 例—Student类;多态性(2);多态性(3);虚拟方法调用(Virtual Method Invocation);多态小结;练习:继承成员变量和继承方法的区别;子类继承父类
若子类重写了父类方法,就意味着子类里定义的方法彻底覆盖了父类里的同名方法,系统将不可能把父类里的方法转移到子类中
对于实例变量则不存在这样的现象,即使子类里定义了与父类完全相同的实例变量,这个实例变量依然不可能覆盖父类中定义的实例变量;对象引用类型转换 (Casting );对象类型转换举例;较高级的基本数据类型;多???数组;多态数组示例;多态数组示例;示 例—Person类;示 例—Student类;示 例—Teacher类;示 例—Test类;练 习;5;88;多态应用(2)——多态参数;示 例—Test类;练 习;instanceof 操作符;示 例—Test类;练 习;第三节 对象关联与Object类;对象的关联;示 例—Teacher类;示 例—Person类;示 例—Computer类;示 例—Test类;练 习; Object 类;Object类中的主要方法;==操作符与equals方法;==操作符与equals方法;int it = 65;
float fl = 65.0f;
System.out.println(“65和65.0f是否相等?” + (it == fl)); //true
char ch1 = A; char ch2 = 12;
System.out.println(65和A是否相等? + (it == ch1));//true
System.out.println(“12和ch2是否相等? + (12 == ch2));//true
String str1 = new String(hello);
String str2 = new String(hello);
System.out.println(str1和str2是否相等?+ (str1 == str2));//false
System.out.println(str1是否equals str2?+(str1.equals(str2)));//true
System.out.println(“hello” == new java.sql.Date()); //编译不通过;Person p1 = new Person();
p1.name = atguigu;
Person p2 = new Person();
p2.name = a
您可能关注的文档
最近下载
- 移动L1认证传输专业试题汇总(含答案).pdf VIP
- (新版)中移动传输专业L1认证考试复习题库-上(单选题汇总).docx VIP
- 计算机专业(基础综合)模拟试卷3(共456题).pdf VIP
- 项目编号szcg2007041645 项目名称2007年度深圳市储备土地管理.doc
- 离婚登记申请受理回执单民法典版(可直接打印).pdf VIP
- 人教五年级数学上册1.2.2 倍数是小数的实际问题和乘法验算 课时训练.doc VIP
- 光伏电站检修规程(行业标准).docx VIP
- (新版)中移动传输专业L1认证考试复习题库-下(多选题汇总).docx VIP
- 基于大概念的初中音乐单元整体教学设计探索.doc VIP
- 《企业经营数据分析》课件.ppt VIP
文档评论(0)