JavaSE:面向对象编程-继承

什么是继承?

对于继承的理解:在定义类的时候,从代码设计角度考虑:如果多个类中出现相同的成员变量和成员方法,将这些类中共有的内容向上抽取,放到父类中,让这些子类去继承父类;这样子类中就不需要去定义共有的内容,继承父类之后,子类就可以直接使用父类中非私有的成员,让代码变得更加简洁;

继承更加贴近于代码的设计理念,就是代码的设计思想,当我们在设计代码的时候,在实际开发中,当设计思路熟悉之后,一定是先定义父类,然后定义子类继承父类,直接使用父类中的成员;

子类继承父类可以继承父类中所有的成员,但是只能使用父类中非私有成员,对于父类构造方法是否会继承这个问题,其实不需要去考虑,如果非要说,就是不会继承;

如何使用继承?

标准流程

1、定义一个父类,在其中定义重复性的代码
2、定义一个子类继承父类 -> 子类 extends 父类
3、创建子类对象,直接使用父类中非私有成员

继承中,成员变量和成员方法的访问特点

总结:

继承体系下,成员变量访问特点:看等号左边是谁,先调用谁中的成员变量,子类没有,找父类

继承体系下,成员方法访问特点:看new的是谁,先调用谁中的成员方法,子类没有,找父类

重点:上面两句话,同样适用于多态

方法的重写

概述:子类中有一个和父类方法名以及参数列表相同的方法

前提:继承

访问:看new的是谁,先调用谁中的,如果new的是子类,调用调用子类重写的方法,子类没有,找父类

检测是否为重写方法:在该方法上写@Override注解

补充:继承前提下,如何判断子类中某个方法是重写的父类方法?

方式一:直接使用@Override注解,如果不报错,就是重写

方式二:理论基础:从方法名和形参列表这两个角度去判断两个方法是否相同,如果相同就是重写

注意事项

1、子类重写父类方法之后,权限必须要保证大于等于父类权限(权限指的是访问权限)

      public -> protected -> 默认 -> private

2、子类方法重写父类方法,方法名和参数列表要一样

3、私有方法不能被重写,构造方法不能被重写,静态方法不能被重写

4、子类重写父类方法之后,返回值类型应该是父类方法返回值类型的相同类型或子类类型

补充:私有方法不会被重写:继承不会打破封装性;构造方法不会被重写:重写的前提是继承,对于构造方法而言,不会去考虑它是否会被继承;静态方法不会被重写:静态方法属于类级别的

使用场景

使用场景:功能升级改造,子类需要对父类中已经实现好的功能进行重新改造

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值