第十一章 继承和多态

1.extends: 关键字表示继承
关键字前后为类名称,继承关系为:关键字前面的类继承关键字后面的类
子类:继承别的类的类称为子类(extends关键字前面的类为子类)
父类:被继承的类称为父类(extends关键字后面的类),也称为:基类,超类
注意*****:所有的类默认继承object类
注意*****:在Java中,类只能单继承
注意:可以实现多层继承,即子类 ----->父类------>父类的父类,理论上可以无限继承下去,
但推荐3层
2.创建子类对象后,调用方法时,如果此方法在子类中存在,则执行子类的方法,如果子类不存
在,父类中存在,则执行父类中的方法
1.子类可以继承父类的可继承方法
2.子类可以继承父类可以继承的属性
3.子类可以有自己的内容(相对于父类,更多的内容)
4.创建子类对象时,会先创建一个父类对象
有继承关系:父类静态 ------->子类静态------->父类代码块 --------->
父类构造 ---------->子类代码块 ---------->子类构造

5.子类可以有与父类相同名称的方法和属性
注意:属性同名----->随意
注意:子类与父类有相同(修饰符(子类范围不能严于父类),返回值,方法名称,
参数列表都相同)的方法,称为子类重写(复写,覆写)父类方法Override
3.@单词:此种形式称为注解
@Override:表示当前方法为覆写父类方法
注意:此注解可以省略,只要符合覆写的规则,则jdk默认此方法为覆写方法
4.访问范围修饰符
public private default protected
验证方式:
单类:同包路径下 不同包路径下
继承:同包路径下是否能继承 不同包路径下是否能继承
public: 公共的,共有的 表示只要在当前项目(工程)中都可以访问
private: 私有的 表示只能在当前类中进行访问
子类不可以继承
default:默认的 表示同包路径下对象可以访问,不同包路径下对象不可以访问。同包路径下可以被继承,不同包路径下不可以被继承
注意:不能写出来
protected: 受保护的 表示同包路径下可以访问,不同包路径下对象不可以访问。同包路径下可以被继承,不同包路径下可以被继承

public > protected > default > private

5.子类对象和父类对象的转换
1.子类可以实例化父类对象------>向上转型(自动完成)
注意:如果子类没有覆写父类方法,则使用父类对象调用该方法时,执行的是本类的方
法,如果子类覆写了父类方法,则父类对象调用该方法时,执行的是子类方法
2.父类不可以自动实例化子类对象,可以使用强制转换来实现(前提是:此父类对象由子类实例化)。此种方式叫做向下转型(强制完成)
向下转型实现过程:有继承关系----->先向上转型,在向下转型
向上转型之后,父类调用子类的方法时可以调用,但执行的时候会报错,所以需要进行向下转型

6.抽象类:
概念:被abstract关键字修饰的类为抽象类
abstract:关键字表示抽象的,修饰类表示当前类为抽象类,修饰方法,表示当前方法为抽象
方法,不能修饰属性
注意:abstract关键字修饰方法时,其所在类必须是抽象类,且当前方法没有方法体
特点:
1.******不能实例化(创建)对象

在这里插入图片描述

匿名子类

2.抽象类的对象由其子类来实例化
3.子类如果不想实现抽象父类方法,则也需要以抽象类存在
如果子类为普通类,则必须覆写抽象父类的抽象方法,普通方法可以不覆写
4.抽象类中可以有普通方法,但普通类中不可以有抽象方法
有抽象方法的类一定是抽象类
7.多态
一种事物的多种形态

8.实现多态的方法:
在这里插入图片描述

1.instanceof关键字表示归属(属于)
判断关键字前面的对象是否属于关键字后面的类型,如果属于,则返回true
1.对象instanceof本类,返回true
2.子类对象instanceof父类,返回true
3.父类对象instanceof子类,返回false
4.向上转型得到的父类对象instanceof子类,返回true
注意:instanceof关键字判定时,使用的是创建的对象,而非引用的对象
注意:instanceof关键字只能判断对象,不能判断基本数据类型

扩充:
1.耦合(结耦),解耦
耦合:在一个类中创建另一个类的对象,则两个类耦合
解耦:解除耦合状态。Java发展的目标(核心:要的时候有,不要的时候没有)
比如:可以将类中的属性进行私有化,只创建不实例化,编写get set 方法即可完成解耦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值