- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java基础day08解读
第三章 java高级部分
?本章导读?
1.设计模式-单例模式
2.java语言三大特征-继承
3.super关键字使用
4.方法重写、重载
5.instanceof运算符
1. 单例模式
单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式.
应用场景
1.Windows的Task Manager(任务管理器)。
2.windows的Recycle Bin(回收站)。
3.网站的计数器,一般也是采用单例模式实现
4.Web应用的配置对象的读取,一般也应用单例模式,因为配置
文件是共享的资源
5.数据库连接池的设计一般也是采用单例模式,
节省打开/关闭资源损耗。
...
1. 单例模式
怎么做到一个类在内存中只存在一个对象?
代码实现思路:
1.将构造函数私有化
2.在类中创建一个私有的本类对象
3.提供一个用类名调用的公有方法获取该对象。
2.继承
案例:
1:描述一个学生类
姓名年龄学号属性,学习的方法
2:描述一个工人类
姓名年龄工号属性,工作的方法
3:描述一个人类
姓名年龄属性,说话的方法。
发现一个问题:学生类和人类天生有着联系,学生和工人都是人。
类和类之间的代码重复太多??
解决此问题方法:使用java语言的继承
2.1 extends关键字
继承:使用extends关键字实现。
格式:
class A extends B{} A类继承B类
使用继承解决上面案例重复代码问题
特性:
被继承的类称之为父类(基类)
继承的类称之为子类
子类的构造函数默认第一行会默认调用父类无参的构造函数,
隐式语句super();
构造方法、私有成员变量不能被继承
静态变量和静态方法、成员方法都被继承
java只支持单继承(一个孩子不能有两个父亲)
2.2 继承
继承练习:
有一宠物类叫Pet(父类) ,属性有name 和 age;
行为有吃 eat(); 喝 drink(); 叫声shout();
子类 Cat 和 Dog :
Cat继承 Pet类所有,并且增加一个自己的特有方法
climbTree() 爬树并且叫声是喵喵
Dog继承 Pet类所有,并且增加一个自己的特有方法police()
警戒并且叫声是汪汪
3. super关键字
作用:
1.主要存在于子类方法中,用于指向子类对象中父类对象。
2.访问父类的属性
3.访问父类的函数
4.访问父类的构造函数
执行过程
Test类被加载,执行main方法,Son.class加载,发现有父类Father类,于是Father类也加载进内存。类加载完毕,创建对象,父类的构造方法会被调用(默认自动无参),然后执行子类相应构造创建了一个子类对象,该子类对象还包含了一个父类对象。
3.1 super关键字
思考:
如果开发者自定义了一个类,没有显式的进行类的继承,那么该类中成员方法是否可以使用super关健健字?
可以使用,继承了Object类,Object类是所有类的父类。
一个类只能有一个直接父类;
一个类可以有多个间接父类;
4. 重载(Overload)和重写(Override)
案例:定义Father类,姓名,吃饭方法,吃窝窝头。
定义Son类,继承Father,Son类中不定义任何成员,
子类创建对象,仍然可以调用吃饭的方法。
父类的吃饭的方法,Son不愿吃,怎么办?
(又不想改变引用的方法名称)
4. 1重写(Override)
在继承中,子类可以重新覆写父类方法的行为称为方法重写.
案例:
描述不同的动物不同的叫法
1:定义动物类,有名字,有吃和叫的方法
2:定义狗继承动物重写父类吃和叫的方法
3:定义猫继承动物重写父类吃和叫的方法
前提: 继承关系
特点:
函数名必须相同、参数列表必须相同、返回值相同
子类的修饰符要等于或者大于父类的修饰符
注:子类对象引用属性或方法时,就近原则(子类有引用自己的,
有引用父类的)
4. 1重写(Override)
练习:
编写老师类
(1)要求有属性“姓名name”,“年龄age”,“职称post”,“基本工资salary”
(2)设置4个静态常量:“部门department”值为“jiyun”,“工资级别levela ,levelb,levelc”初始值分别为1.1,1.2,1.3。
(3)编写业务方法, introdu
原创力文档


文档评论(0)