Java基础学习笔记 (六) —— 面向对象

OOP面向对象
面向对象的原则:
高内聚、低耦合
低耦合:降低程序中类之间的依赖关系
高内聚:提升程序内部的性能
继承
1.什么是继承?
允许子类拥有父类的属性和行为。(除私有属性和行为)
2.优缺点
优点:提升了代码的复用性。
缺点:由于继承会有多层继承关系,层级结构非常复杂,会提高了他们之间的依赖性。
3.继承的语法
子类 extends 父类
4.super关键字
① 当创建子类对象时,会调用父类的空参构造器 super()
②super可以通过子类构造器调用父类的构造器,可以初始化父类的成员属性。
③super可以调用父类的非私有方法。
④super和this同时存在的时候,一定先使用super调用父类的构造器,初始化父类的成员属性,再使用this关键字初始化子类的成员属性。
⑤所有的子类默认都会调用父类的空参构造器
5.this关键字和super关键字的区别
this:当前对象(子类对象)
super:代表的是父类对象
 ①.可以访问父类构造器,初始化父类成员属性
 ②.super可以调用父类的非私有方法
6.方法重写 override
方法重写是子类重新定义父类的方法。
要求:
 ①.子类重写的方法名、形参列表、返回值类型和父类完全一致。
 ②.子类重写的方法访问修饰符权限不低于父类的访问修饰符。
7.方法重载overload和方法重写override的区别
①.方法重载要求在同一个类中
②.方法重写要求必须存在继承关系(子类和父类 is-a)
③.方法重载要求方法名相同、形参列表不同(类型和数量不同)和返回值类型没有关系
④.方法重写要求方法名相同 、形参列表相同 、返回值类型相同。(只有方法体不同)
封装
1.概念
将类的内部细节隐藏起来,对外可以提供访问的接口。
2.如何实现封装?
① 将成员属性声明为私有
② 增加setXXX()和getXXX()方法 (类似于文件的读写属性)
3.this关键字作用
① 用来区分成员变量和局部变量
② 代表当前对象
4.构造器
①.构建对象
②.初始化成员属性
③.与类同名,无返回值
④.构造器可以形成重载
⑤.所有的类都有构造器
⑥.当类中没有显示的构造器时,其实是存在一个隐藏无参构造器
⑦.当类中有显示的构造器时,会把隐藏的构造器覆盖
多态
1.多态的理解
① 同一个动作作用于不同的对象产生的不同行为
② 多态就是一个对象的多种表现形式
2.多态的优点
①.降低了程序之间的耦合度
②.提高了程序的可扩展性
3.多态的类型
①.编译时多态:静态的 方法重载(在编译期间,调用相同的方法根据不同的形参列表来区分)
②.运行时多态:动态的 只有在运行期间才能确定使用的对象类型,才能确定变量的引用指向的是那个实例
4.多态的必要条件***(对象的多态性,运行时多态)
①.继承:存在继承关系的子类和父类
②.重写:子类重新定义父类的方法(方法的覆盖)
③.向上转型:父类的引用指向子类的实例 Person p = new Man();
5.多态的体现方式
①.基于继承的体现方式
不同的子类重写父类的方法体现出来的不同形式
②.基于接口的体现方式
6.对象的多态:
① 父类的引用指向子类的实例
② 在编译时调用父类的方法,执行期间,调用子类的方法
③ 在编译时看左边,在运行时看右边
④ 上转型和下转型
 上转型:将子类对象交给父类引用,可以自动转化
 下转型:强制类型转化
发布了8 篇原创文章 · 获赞 6 · 访问量 2454

猜你喜欢

转载自blog.csdn.net/sxn712/article/details/105150202
今日推荐