Java知识梳理 第八章 面向对象编程(中级部分)

215 阅读2分钟

第八章 面向对象编程(中级部分)

8.1 包

包有以下作用:

1)区分相同名字的类

2)当类很多时,可以很好地管理类(看Java API文档)

3)控制访问范围

8.2 访问修饰符

8.3 面向对象三大特征

8.3.1封装:

8.3.2继承:

继承内存分析:

8.3.3多态

多态是指 方法或对象具有多种形态,它是建立在继承和封装基础之上的,且多态的前提是两个类存在继承关系

多态的具体体现:

1)方法的多态

方法的重写和重载就体现了多态

注意:属性是没有重写之说的,直接看编译类型即可

2)对象的多态

多态的应用:

1)多态数组:数组定义类型为父类类型,里面存放的实际元素类型为子类类型

2)多态参数:方法定义的形参类型为父类类型,实参类型允许为子类类型

8.4 super关键字

8.5 方法重写/覆盖(overwrite)

注意事项与使用细节:

1)子类方法的形参列表、方法名称,要和父类的形参列表、方法名称完全一样

2)子类方法的返回类型和父类方法返回类型一样,或者是父类返回类型的子类

比如 父类返回类型是Object ,子类返回类型是String

3)子类方法不能缩小父类方法的访问权限

public > protected > 默认 > private

8.6 Java的动态绑定机制

1)当调用对象方法时,该方法会与该对象的内存地址/运行类型绑定

2)当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用

8.7 Object类详解

8.7.1 equals方法

equals与== 的对比:

8.7.2 hashCode方法

8.7.3 toString方法

8.7.4 finalize 方法