JavaOO总结
来源:互联网 发布:d3.js中文文档 编辑:程序博客网 时间:2024/06/06 19:52
一.继承
1.继承的概念
在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式成为继承。
tips:在Java语言中只有单继承。
2.继承在内存中的实现
代码:创建父类
public class Father(){ public Father(){ System.out.println("父类构造器"); } }
创建子类:
public class Son(){ public Son(){ //super();隐式调用super() System.out.println("子类构造器"); } }
创建一个子类对象:
Son son = new Son();
这段代码在内存中产生的影响:
1.首先调用父类的无参构造方法,递归调用父类的父类的构造方法,直到调用到Object类的构造方法。
2.为Object类中的属性划分空间
3.为Father类中的属性划分空间,并叠加到为Object划分的空间后面。
4.为Son类中的属性划分空间,并叠加到为Father划分的空间后面。
执行结果:
父类构造器子类构造器
3.重写与重载
4.super与this
super. 和 this.
super()和this()
tips:this()和super()都必须在构造器中的第一行,且二者只能选其一,如果子类的构造方法没有显示调用this()或者super()那么会隐式调用super()。
5.final、finally、finalize
finally
通常和try-catch语句配合使用,表示是否有异常发生,最后都必须执行的语句。
如:
try{ statement;}catch(Exception e){ statement; }finally{ statement; }
finalize()
Object的一个方法,垃圾回收机制通过算法计算哪个对象应该被销毁,然后调用finalize()方法将其销毁。
二.类的高级概念
1.四种访问修饰符及其访问范围
2.封装
1.信息隐藏
将属性的访问修饰符设置为private,并提供public的getter/setter方法。
这样做增加了操作数据的灵活性,可以做只读或只写操作。并且可以在setter方法里面对数据有效性进行验证。
2.隐藏实现
隐藏内部实现,给外部提供一个接口。当修改内部实现时,不会影响到外部使用者。外部使用者不必关心内部实现。
3.static关键字
静态对象和非静态对象的区别
static修饰符的作用
三.多态
1.多态的概念
2.静态多态
重载,和单独的重写(即用子类对象的引用调用子类中重写的方法)。是指在编译器就可以确定该执行的方法。
3.动态多态(重写+动态绑定)
1.重写
在子类中重新实现从父类继承来的方法
2.转型技术
具有继承关系的引用数据类型可以相互转换。但是将父类型转换为子类型会有一定的风险,不建议这样做。
3.instance
用法:
引用a instanceof 类XXX
在程序执行过程中判断引用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(一)
- codevs 1191 数轴染色(并查集)
- Java类型转换
- CSS 5.2 框模型-边框
- OpenGL ES 简单光照学习
- 【BFS】CODE[VS] 1535 封锁阳光大学(二分图BFS染色)
- JavaOO总结
- mac git 生成ssh的公钥的过程
- 小码哥杯java程序比赛复习(十一)常用类(下)
- Ajax----了解及概念介绍
- CSS 5.3 框模型-内边距和外边距
- 每日一shell之ifconfig补充将IP配置信息写入配置文件
- C++迭代器模拟
- 日期控件
- IP地址和广播地址不在一个网段内时根据IP地址和子网掩码计算广播地址