电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

黑马JavaSE进阶讲义

233页
  • 卖家[上传人]:拿***
  • 文档编号:153372443
  • 上传时间:2020-11-28
  • 文档格式:DOCX
  • 文档大小:1.21MB
  • / 233 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、1. 继承1.1 继承的实现(掌握)继承的概念继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法实现继承的格式继承通过extends实现格式:class 子类 extends 父类 举例:class Dog extends Animal 继承带来的好处继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。示例代码public class Fupublic void show() System.out.println(show方法被调用);public class Zi extends Fu public void method() System.out.println(method方法被调用);public class Demo public static void main(String args) /创建对象,调用方法Fu f = new Fu(); f.show();Zi z = new Zi(); z.method();z.show();1.2 继承的好处和弊端(理解)继承好处提高了代码的

      2、复用性(多个类相同的成员可以放到同一个类中) 提高了代码的维护性(如果方法的代码需要修改,修改一处即可)继承弊端继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性继承的应用场景:使用继承,需要考虑类与类之间是否存在is.a的关系,不能盲目使用继承is.a的关系:谁是谁的一种,例如:老师和学生是人的一种,那人就是父类,学生和老师就是子类2. 继承中的成员访问特点2.1 继承中变量的访问特点(掌握)1. 在子类方法中访问一个变量,采用的是就近原则。1. 子类局部范围找2. 子类成员范围找3. 父类成员范围找4. 如果都没有就报错(不考虑父亲的父亲)示例代码class Fu int num = 10;class Zi int num = 20; public void show()int num = 30; System.out.println(num);public class Demo1 public static void main(String args) Zi z = new Zi();z.show();/ 输出show方法中

      3、的局部变量302.2 super(掌握)this&super 关 键 字 :this:代表本类对象的引用super:代表父类存储空间的标识(可以理解为父类对象引用) this和super的使用分别成员变量:this.成员变量 -访问本类成员变量super.成员变量 - 访问父类成员变量成员方法:this.成员方法 - 访问本类成员方法super.成员方法 - 访问父类成员方法构造方法:this() - 访问本类构造方法super() - 访问父类构造方法2.3 继承中构造方法的访问特点(理解)注意:子类中所有的构造方法默认都会访问父类中无参的构造方法(子类中没有构造方法就不能这样用!)子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化,原因在于,每一个子类构造方法的第一条语句默认都是:super()问题:如果父类中没有无参构造方法,只有带参构造方法,该怎么办呢?1. 通过使用super关键字去显示的调用父类的带参构造方法2. 在父类中自己提供一个无参构造方法推荐方案:自己给出无参构造方法2.4 继承中成员方法的访问特点(掌握)通过子类对象

      4、访问一个方法(就近原则)1. 子类成员范围找2. 父类成员范围找3. 如果都没有就报错(不考虑父亲的父亲)2.5 super内存图(理解)对象在堆内存中,会单独存在一块super区域,用来存放父类的数据2.6 方法重写(掌握)1、方法重写概念子类出现了和父类中一模一样的方法声明(方法名一样,参数列表也必须一样)2、方法重写的应用场景当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容3、Override注解用来检测当前的方法,是否是重写的方法,起到【校验】的作用2.7 方法重写的注意事项(掌握)方法重写的注意事项1. 私有方法不能被重写(父类私有成员子类是不能继承的)2. 子类方法访问权限不能更低(public 默认 私有)public class Fu private void show() System.out.println(Fu中show()方法被调用);void method() System.out.println(Fu中method()方法被调用);public class Zi extends Fu

      5、 /* 编译【出错】,子类不能重写父类私有的方法*/ Overrideprivate void show() System.out.println(Zi中show()方法被调用);/* 编译【出错】,子类重写父类方法的时候,访问权限需要大于等于父类 */ Overrideprivate void method() System.out.println(Zi中method()方法被调用);/* 编译【通过】,子类重写父类方法的时候,访问权限需要大于等于父类 */ Overridepublic void method() System.out.println(Zi中method()方法被调用);2.8. Java中继承的注意事项(掌握)Java中继承的注意事项1. Java中类只支持单继承,不支持多继承错误范例:class A extends B, C 2. Java中类支持多层继承多层继承示例代码:public class Granddad public void drink() System.out.println(爷爷爱喝酒);public class Father extends

      6、Granddad public void smoke() System.out.println(爸爸爱抽烟);public class Mother public void dance() System.out.println(妈妈爱跳舞);public class Son extends Father / 此时,Son类中就同时拥有drink方法以及smoke方法3. 继承练习3.1 老师和学生(应用)需求:定义老师类和学生类,然后写代码测试;最后找到老师类和学生类当中的共性内容,抽取出一个父类,用继承的方式改写代码,并进行测试步骤:定义老师类(姓名,年龄,教书()定义学生类(姓名,年龄,学习()定义测试类,写代码测试共性抽取父类,定义人类(姓名,年龄)定义老师类,继承人类,并给出自己特有方法:教书()定义学生类,继承人类,并给出自己特有方法:学习()定义测试类,写代码测试示例代码:class Person private String name; private int age;public Person() public Person(String name, int age)

      7、this.name = name;this.age = age;public String getName() return name;public void setName(String name) this.name = name;public int getAge() return age;public void setAge(int age) this.age = age;class Teacher extends Person public Teacher() public Teacher(String name,int age) super(name,age);public voidteach() System.out.println(用爱成就每一位学员);class Student extends Person public Student() public Student(String name, int age) super(name,age);public void study() System.out.println(学生学习);class PersonDemo

      8、public static void main(String args)/创建老师类对象并进行测试Teacher t1 = new Teacher(); t1.setName( 林 青 霞 ); t1.setAge(30);System.out.println(t1.getName() + , + t1.getAge();t1.teach();Teacher t2 = new Teacher(风清扬, 33);System.out.println(t2.getName() + , + t2.getAge(); t2.teach();/ 创建学生类对象测试Student s = new Student( 张 三 ,23); System.out.println(s.getName() + , + s.getAge();s.study();3.2 猫和狗( 应用)需求:请采用继承的思想实现猫和狗的案例,并在测试类中进行测试分析:猫:成员变量:姓名,年龄构造方法:无参,带参成员方法:get/set方法,抓老鼠()狗:成员变量:姓名,年龄构造方法:无参,带参成员方法:get/set方法,看门()共性:成员变量:姓名,年龄;构造方法:无参,带参;成员方法:get/set方法步骤:1、定义动物类(Animal)【成员变量:姓名,年龄】【 构造方法:无参,带参】【成员方法:get/set方法】2、定义猫类(Cat),继承动物类【构造方法:无参,带参】【成员方法:抓老鼠() 】3、定义狗类(Dog),继承动物类【构造方法:无参,带参】【成员方法:看门() 】4、定义测试类(AnimalDemo),写代码测试示例代码:class Animal private String name; private int

      《黑马JavaSE进阶讲义》由会员拿***分享,可在线阅读,更多相关《黑马JavaSE进阶讲义》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.