Java基础知识章节梳理(十)

一. 继承

      1. 概念:描述的是事物之间的所属关系(父子关系)

      2. 定义格式:class 子类 extends 父类 {}

(例如:class Student extends Person{})

      3. 继承的好处

            1) 子类可以直接使用父类非私有的成员方法和成员变量

            2) 每个子类都可以拥有父类完整的一份

    如图,直白的来说,就是提高了效率。

      4. 继承的特点

扫描二维码关注公众号,回复: 1110486 查看本文章

            1) 在java中,类与类之间只能是单继承,不能多继承(extends只     能出现一次)

            2) 继承具有传递性(孙子可以直接使用爷爷类的内容);

            3) 所有类都直接或间接的继承Object类(Object类中的方法,  任意一个对象都可以直接使用)

           4) 在java中可以有多层继承

(例如:A继承B,B继承C)

      5. 子类与父类成员变量或成员方法调用的问题

           1) 在子类中,使用自己的成员变量的值,使用关键字this即可

           2) 在子类中,使用父类的成员变量或者成员方法,使用关键字     super即可

           ( 例如Super.属性名 或者 Super.方法名() )

二. 继承中的方法重写

      1. 概念:子类中出现与父类一模一样的方法时,会出现覆盖操作, 也称为 override 重写、复写或者覆盖。

      2. 方法重写与重载的区别

           1) 重写:在子类中,拥有与父类一模一样的方法

           2) 重载:同一个类中,方法名相同,参数列表不同

      3. 重写的应用

           当子类认为父类的方法,不足以体现出子类的特性时,子类可以      重写父类的方法,使用子类对象,调用方法的时候,优先执行子类重    写的方法

      4. 重写的注意事项:

           1) 子类方法覆盖父类方法,必须要保证权限大于等于父类权 限

           2) 必须一模一样,函数的返回值类型 函数名 参数列表都要一样

        如图,重写可以完全覆盖父类的方法,当然也可以使用super在父类已有的功能下添加自己特有的功能


      5. 子类调用父类内容

           1) 子类调用父类成员方法

                 super.方法名(形式参数)

(super一定要写在子类中,不然没有意义)

           2) 子类调用父类成员变量

                 a. 非私有属性:super.变量名

                 b. 私有属性:通过父类的set/get方法调用

                 c. 成员变量查找顺序

                 (1) 就近原则,先查找子类成员变量,没有则找父类变量

                 (2) 子类可以调用父类的方法和属性,父类不能调用子类                  任何内容

      6. this与super调用构造方法

           1) 使用

             this只能在自己的构造方法中调用自己其他重载的构造方法             super可以调用父类的构造方法

           2) 特点

                 (1) 在一个构造方法中,只能调用一次其他的构造方法

                 (2) 在子类的构造方法中,如果不写会默认添加super(),            (父类对象会优先于子类被创建出来)

                 (3) this和super调用其他构造方法的时候,必须放在构造方                法中的代码的第一行

                 (4) this和super不能同时存在

    此图主要为理解this和super的用处

猜你喜欢

转载自blog.csdn.net/lbusters/article/details/80480559
今日推荐