Java面对对象02

继承

1.概念:子类拥有父类的属性和方法,具有父类的特征。

2.继承的实现:

        ①关键字:extends

        ②格式:class 子类 extends 父类{}

        ③父类:superclass 超类

        ④子类:subclass 子类

        注意:一般可以写继承关系的,要求本质上都是同一类事物。

3.继承的好处:提高代码的复用性,提高代码的动态性。

4.继承的特点:

        ①单继承:extends关键字后面只能有一个父类,继承的直系父类只有一个。

        ②多继承:可以理解爷爷→父亲→孙子

5.继承的细节问题:

        ①对于父类和子类重名时,由于就近原则。如果是子类调用该属性,则使用子类属性。

        ②若想使用父类的同名属性:

                ①关键字:super指代当前父类的对象部分。

                ②用法同this,格式→super.属性名

        ③无论this还是super,都不能直接在静态方法中使用。

6.继承的成员:

        继承的成员都可以继承,除一下两种:

                ①成员用private修饰的

                ②构造方法不能被继承

7.方法的重写:

        ①方法的重载:overload在同一个类中,方法名相同,返回值无关,参数不同(个数,顺序,类型)。

        ②方法重写的原因:父类的方法不适合子类使用。

        ③方法的重写:override在具有继承关系的子类中,如果父类的方法不满足子类的需求,

                                子类重写父类的方法。

                注意:方法名相同,参数列表相同,目前返回值类型也相同(多态之前可以认为),

                           权限修饰符大于等于父类 

        ④如果子类想要调用父类的同名方法,需要通过super调用。格式→super.方法名(参数)

        ⑤方法重写的校验:

                ①注解@override检查

                ②可以通过如图校验

8.方法的重写:

        注意:

                ①重写要求必须是子父之间,在子类中重写。

                ②静态方法不能被重写。

                ③可以重写的方法都是非静态方法,通过静态方法调用,多为动态准备。

9.super与this的用法

        ①this/super代指对象:

                        this表示当前类的当前对象。

                        super表示当前类的当前对象,属于父类对象部分的引用。

        ②注意:this和super可以想象在子类对象中,一但具有继承关系,就相当于子类对象创建

                      时,有两部分组成,一部分属于继承父类的super,另一部分属于子类特有的属于

                      this。当查找时this从本类开始查找,遇到第一个为止,super从父类开始查找,遇到

                      第一个为止。

        ③this和super代指构造方法:

                this:代表本类的构造方法。

                super:代表父类的构造方法。

        注意:

                ①如果一个子类的构造方法没有显示调用父类的构造方法,默认会有一个super(),

                    默认父类的无参构造方法被调用。这种现象被称为隐式三步第一步。

                ②如果父类的构造方法中存在有参构造,没有无参构造,建议创建无参构造。

                原因:子类在进行构造方法声明时,会在第一行默认调用父类的无参构造fang(),

                           如果父类没有,就报错误。

                解决:

                        ①建议添加无参构造

                        ②也可以在构造方法的第一行,指定调用父类那个构造方法(不建议使用)

        总结:this/super的用法:

                ①代指对象:格式→this/super 方法(参数)/属性

                ②代指构造方法:格式→this/super(参数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值