《Java知识点总结系列》第七章——封装、继承、多态篇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象的三大特性封装继承多态
知识点预览
封装的概念
继承的概念
访问修饰符
方法的覆盖(Override)
super关键字
多态的概念
强制类型转换与instanceof关键字
封装的概念
1. 什么是封装
通过边界将内部组成部分与外部分开
2. 封装的好处
a) 提高一个物体内部组成部分的安全性
b) 向外部屏蔽物体内部组成部分的差异
私有访问修饰符private
2个方法获得设置
3. 封装的内容
a) 属性----->必须
b) 方法根据需要封装
c) 方法声明公开方法实现封装 ------->思想
继承的概念
1. 什么是继承
2. 继承的语法
a) extends关键字;
b) 继承的好处:提高代码的复用性
3. 子类对象的扩展
4. Java语言中继承的特点
a) Java语言中继承是单继承(最多有一个直接父类)
b) Java中单继承的好处
几何拓扑:树状结构较简单易于实现5. 继承关系在内存中的表现形式
JVM开辟连续的存储空间(父类、子类)
6. 对象的创建过程\
new Dog();
a) 分配空间(父类对象空间子类对象空间)
b)
初始化属性
递归的构造父类对象
调用构造方法
c) 初始化属性
d) 调用构造方法
Java中的访问修饰符
1. 什么是Java中的访问修饰符式
private
public
default
protected
2. Java中的访问修饰符
方法的覆盖(Override)
1. 什么是方法的覆盖
子类对从父类继承的方法重新实现
2. 方法覆盖的要求
a) 子类覆盖方法的访问修饰符范围必须大于或者等于父类对应方法的访问修饰符范围
b) 子类覆盖方法的返回值类型必须和父类方法一致
c) 覆盖方法的参数必须和父类方法一致
super关键字
1. super代表父类对象
a) super.属性
子类、父类出现同名,子类中访问父类属性
b) super();
在付了构造方法中调用父类构造方法
2.super()总结
a) 每一个子类的构造方法没有显示调用super(),系统都会提供一个默认的super();(子类编译完后编译器默认加上super(),调用无参构造)
b) super()书写在第一行;
c) 可以在父类构造方法红枣年糕显示调用super()实现对特定父类构造方法的调用。
3. super思考题
TestSuper4
[java]view plaincopy
多态的概念
1. 什么是多态(父类的引用指向子类的对象)Dog d = newDog();
Animal a = newDog();
a.call();//错误
2. 多态的特点
a) 对象类型不可变,引用类型可变
b) 只能调用引用其引用类型中定义的方法
c) 运行时会运行子类覆盖的方法TestPloy
[java]view plaincopy
3.多态的作用
提高代码的通用性
Animal a = newDog();
a.sleep();
a.eat();
a = new Cat();
……
Animal [] a =new Animal[2]; a[0] = newDog();
a[1] = newCat();
[java]view plaincopy
强制类型转换
把父类转换成子类
Animal a= new Dog();
Dog d = a;//错误把动物看成狗存在潜在风险Dog d = (Dog)a;//正确
instanceof运算符
判断对象是否是这个类型
if(a instanceofDog){
Dog d = (Dog)a;
}