JavaOO总结
来源:互联网 发布:根据数据库生成网页 编辑:程序博客网 时间:2024/06/01 09:58
一.继承
1.继承的概念
在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式成为继承。
tips:在Java语言中只有单继承。
2.继承在内存中的实现
代码:创建父类
- 1
- 2
- 3
- 4
- 5
创建子类:
- 1
- 2
- 3
- 4
- 5
- 6
创建一个子类对象:
- 1
这段代码在内存中产生的影响:
1.首先调用父类的无参构造方法,递归调用父类的父类的构造方法,直到调用到Object类的构造方法。
2.为Object类中的属性划分空间
3.为Father类中的属性划分空间,并叠加到为Object划分的空间后面。
4.为Son类中的属性划分空间,并叠加到为Father划分的空间后面。
执行结果:
- 1
- 2
3.重写与重载
4.super与this
super. 和 this.
super()和this()
tips:this()和super()都必须在构造器中的第一行,且二者只能选其一,如果子类的构造方法没有显示调用this()或者super()那么会隐式调用super()。
5.final、finally、finalize
finally
通常和try-catch语句配合使用,表示是否有异常发生,最后都必须执行的语句。
如:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
finalize()
Object的一个方法,垃圾回收机制通过算法计算哪个对象应该被销毁,然后调用finalize()方法将其销毁。
二.类的高级概念
1.四种访问修饰符及其访问范围
2.封装
1.信息隐藏
将属性的访问修饰符设置为private,并提供public的getter/setter方法。
这样做增加了操作数据的灵活性,可以做只读或只写操作。并且可以在setter方法里面对数据有效性进行验证。
2.隐藏实现
隐藏内部实现,给外部提供一个接口。当修改内部实现时,不会影响到外部使用者。外部使用者不必关心内部实现。
3.static关键字
静态对象和非静态对象的区别
static修饰符的作用
三.多态
1.多态的概念
2.静态多态
重载,和单独的重写(即用子类对象的引用调用子类中重写的方法)。是指在编译器就可以确定该执行的方法。
3.动态多态(重写+动态绑定)
1.重写
在子类中重新实现从父类继承来的方法
2.转型技术
具有继承关系的引用数据类型可以相互转换。但是将父类型转换为子类型会有一定的风险,不建议这样做。
3.instance
用法:
- 1
在程序执行过程中判断引用a是否指向类XXX的对象。
4.动态绑定
在程序执行的过程中,根据具体对象的类型进行绑定。通过动态绑定,JVM必须沿着继承树向下找,判断一个方法是否被重写,如果方法被重写了,在运行时就执行子类的方法,否则执行父类的方法。
5.应用场景
1.多态参数:引用类型的参数可以传入任意该类型子类的实例。
2.异构集合:类型不同但是有相同父类的子类的数据集合。
四.抽象类和接口
tips:继承了抽象类的类必须实现抽象类中的所有方法,除非是抽象类。
- JavaOO总结
- JavaOO总结
- javaOO总结
- JavaOO项目总结
- ------------------JavaOO 上总结-------------------
- JavaOO项目TankWar 项目总结
- JavaOO-①
- JavaOO-②
- JavaOO-③
- JavaOO-④
- JavaOO-⑤
- javaoo--superArray
- 初始JAVAOO
- Javaoo异常
- 关于JAVAOO项目
- javaoo经典面试题
- javaoo经典面试题
- JavaOO(一)
- redhat命令操作(二)
- win7 git上传本地项目至github
- NOI2013 快餐店
- Linux sqlite3基本命令
- Ubuntu16.04lts使用Anaconda安装tensorflow并配置GPU
- JavaOO总结
- Unity3D插件之Highlighting System:物件高亮插件
- 关于javaee编程中的习惯以及解决思路总结
- 个人黑历史1
- 字符串之间的空格
- LeetCode(122) Best Time to Buy and Sell Stock II
- App Transport Security has blocked a cleartext HTTP
- Android事件分发<一>
- c语言格式化输出函数printf()