Java之继承和多态(精简版-更适合复习)

继承

如果子类有,优先访问子类的,子类没有,然后去看父类有没有,父类也没有,那就会报错。

73c6359d722f451098073d02aded4e01.png

就是要访问父类怎么办?通过super关键字。

在静态方法当中,时不能使用this和super的。

当子类继承了父类后,在实例化子类对象的时候,要帮助父类进行构造(初始化父类的成员)。

怎么初始化?

初始化父类成员的时候,只有一种方法:调用构造方法。

父类没有任何构造方法,那么有一个默认的不带参数的构造方法,相反,如果父类有构造方法,子类必须调用那个存在的构造方法 。

 

再谈初始化

1.父类和子类的静态先执行

2.父类的实例,父类的构造方法

3.子类的实例,子类的构造方法

4.静态的只执行一次

 

protected关键字

不管是不是同包,只要是子类就行(建立的前提是:继承的这个类他是public修饰的)。

 

Java中不支持多继承

如果需要控制继承,此时这个类可以被final修饰,意味着:当前类不可以被继承,此时在这个类叫做密封类。

 

向上转型:

通过父类引用访问的时候,只能访问父类自己特有的。

方法重写:

1.方法名相同

2.参数列表相同(个数 顺序 类型)

3.方法的返回值相同

动态绑定的前提:

1.父类引用子类对象【向上转型】

2.通过父类引用调用重写的方法

总结:

1.静态方法不能被重写

2.被private修饰的方法不能被重写

3.被final修饰的方法不能被重写

4.如果方法被重写,那么子类的访问权限要大于等于父类的权限。

发生向上转型的时机:

1.方法传参

2.作为返回值

3.直接赋值

 

多态

当引用的对象不一样,调用方法表现的行为不一样,此时就叫做多态,因为同一个引用调用同一个方法,表现的行为不一样。

 

 

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值