2022.1.4 三大特征:封装、继承、多态

1.封装

在这里插入图片描述

在这里插入图片描述

2.继承

在这里插入图片描述

子类继承了父类,就会拥有父类的所有方法
在这里插入图片描述

在这里插入图片描述
ctrl+H

**

1.object类

在这里插入图片描述

2.super

在这里插入图片描述
在这里插入图片描述
无参构造
在这里插入图片描述
有参构造
在这里插入图片描述

super注意点
1.super调用父类的构造方法,必须放在构造方法的第一行
2.super只能出现在子类的方法或者构造方法中
3.super和this不能同时调用构造方法

VS
this

代表对象不同:
this:本身这个调用者
super:代表父类对象的引用
前提不同
this:没有继承也可以使用
super:只能在继承条件下才能使用
构造方法不同
this();当前此类的构造
super();父类的构造

**3.方法重写

Ctrl+O

静态
在这里插入图片描述

非静态

在这里插入图片描述
重写:需要有继承关系,子类重写父类的方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大 public>protected>default>private
4.抛出的异常:范围可以被缩小,不能扩大 ClassNotFoundException----Exception(大)
重写,子类的方法名跟父类一致,方法体不同

为什么要重写:
1.父类的功能子类不一定需要,或者不一定满足

****4.多态

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

区别:
在这里插入图片描述
在这里插入图片描述

或是强制转换类型
在这里插入图片描述
多态
1.多态是方法的多态,属性没有多态
2.父类和子类,有联系 类型转换异常:ClasssCastException
3.存在条件:继承关系,方法重写 ,父类引用指向子类对象 Father f1=new Son();

不能被重写
1. static 方法属于类,不属于实例
2. final 常量
3. private方法


instanceof(类型转换)

在这里插入图片描述

在这里插入图片描述
1.父类引用指向子类对象
2.把子类转为父类,向上转型
3.把父类转为子类,向下转型,强制转换(可能会丢失一些方法)

—————————————————————————————————
instanceof报错和false的区别
A(对象) instcnaceof B(类)结果为boolean型

A和B比较之前会先判断A能不能转换成B类型,能则通过,不能则编译报错

Person person = new Student();

Object object = new Student();

person instanceof String之所以编译会报错是因为person是Person类型,而String是final类型,两者不能转换

而object instanceof String中object是Object类型,String是Object的子类也继承了Object类型,所有能类型转换,编译通过

编译通过后会把A和B比较,如果A是B本类或者子类的对象,结果就是true,反之就是flase

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值