面向对象的特征(二)

面向对象的特征(二)

  1. 访问修饰符

    ​ 本类 同包类 同包子类 不同包类 不同包子类

    private √ × × × ×

    默认 √ √ √ × ×

    protected √ √ √ √ ×

    public √ √ √ √ √

    【说明】:默认访问修饰符,具有包内可见,无论是否为子类,都能访问

    ​ 受保护的,包内可见,子类可见

    ​ 修饰类:public 默认的

    ​ 修饰属性:方法:private 默认的 protected public

    ​ 局部变量:不使用任何修饰符,使用默认的

  2. 继承的本质

    枚举:是一种数据类型,把变量可能出现的值一一列举出来

    性别: 男 女 四季:春夏秋冬 一年的月份

    作用:给枚举类型赋值时

    类型:enum 本质是int型

在创建子类对象之前,要先创建父类对象***

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S9hxRMGY-1628596561751)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210809141855263.png)]

  1. 方法重写

    提问:什么是方法的重载

    面试题:方法重载和重写的区别

    问题:父类无法确定方法体

​ 如何解决:

​ 1、在父类中编写方法—虚方法

​ 2、在父类中重写父类方法

​ 重写规则:

​ 1、重写方法(子类中方法)不能不被重写的方法(父类中的方法)的访问修饰符更严格

​ 2、方法头也要相同

​ 方法重写/方法的覆盖:在子类中重写父类的方法

​ 原理:在运行过程中,也就是方法调用过程中,子类的方法把父类的方法覆盖掉

​ 面试题:

​ 1、重载是发生在同一个类中,重写是发生在子类中,子类覆盖父类的方法

​ 2、重载:同命不同参,与访问修饰符无关

​ 重写:同名同参,访问修饰符可以更宽泛

4.Super

super:父类对象,通过那个子类队形访问,就代表那个父类对象

super的作用:可以使用super来访问父类中的成员,很好区分开那些成员是子类的(子类使用this访问),哪些是父类的

​ 可以调用父类的构造方法

5.明确
  1. 子类中的方法可以和父类的方法相同
  2. 子类中的属性可以和父类相同–属性不会重写,需要通过super或this进行区分

继承:概念

​ 语法 子类extend

​ 特点:单继承 传递性

​ 子类继承了父类的那些成员

​ 4个访问修饰符的访问权限

​ 继承的本质:对象的创建顺序

​ 方法重写:

​ super关键字的使用

6.多态

​ 解决问题的思路:使用堕胎–优化方法

​ 解决步骤:

​ 1、在父类中编写方法

​ 2、在子类中重写方法

​ 3、在使用时用父类为类型

概念:统一父类类型,对同一方法表现出不同的状态,称为多态

多态具备的条件:

​ 1、父类 方法

​ 2、子类 不同子类以不同的方式重写父类方法

​ 3、父类做类型,赋值子类对象

多态的好处:代码简洁,适用于程序的扩展

多态使用的技术:继承 方法重写 LSP(里氏替换原则)(父类引用指向子类)

梳理多态:优化方法

​ 3、父类做类型,赋值子类对象

多态的好处:代码简洁,适用于程序的扩展

多态使用的技术:继承 方法重写 LSP(里氏替换原则)(父类引用指向子类)

梳理多态:优化方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值