• 面向对象继承


    一、    继承的优点

    优点:提高代码的可重用性

    1、     如何判断A、B类之间是继承关系?

          符合 is…a关系

    2、java中,所有的类都直接或间接的继承了java.lang.Object类

    3、     java中,私有的成员构造方法没有被子类继承

    缺省权限的成员,不能被其他包中的子类继承

    二、如何实现继承

    1、     将多个类中的共同的成员,提取出来放到一个公共的类(父类、超类、基类),自己只保留特有的成员

    2、     多个类(子类、派生类),继承(extends) 公共类

    访问修饰符class 子类 extends 父类{

    }

    说明:class前面的访问修饰符不能为private、protected

    三、继承的2大特性

    1、     单一性:一个类只能直接继承一个父类

    2、     传递性:一个类可以间接的继承多个类(子类可以调用父类的父类…中的成员)

    四、子类如何调用父类的成员

               1、public属性

                      super.属性名

    2、构造方法

        super(【值】);

        子类隐式(自动)查找并调用父类的无参数的构造方法

    3、     其他方法

    super.方法名([值]);

    第二次课

    一、    方法重写

    1、     概念—对从父类继承过来的方法进行重新编写

    2、     常见面试题:构造方法可以重写吗?为什么?

    3、     方法重载(overloading)和方法重写(overriding)的区别和联系?

    方法重载,

          在同一个类中(也可以在继承关系中),方法名相同,参数列表(个数、类型)不同,不能根据方法的返回类型和访问修饰符不同,而判定是方法重载

    方法重写(方法覆盖),

          是对从父类继承过来的方法进行重新编写,

    重写方法时,方法名、参数列表、返回类型必须和要重写的父类方法保持一致,访问修饰符可以不同,但访问权限必须要比父类要大

    4、     访问修饰符4个(按权限从小到大排列)

    private(私有的)< friendly(缺省的)< protected(受保护的)< public(公共的)

    二、    在继承关系中,构造方法执行顺序

    1、     在继承中,创建子类对象时,会自动调用父类的无参数的构造方法

    2、     子类和父类同时存在有构造方法时,它们的执行顺序?

    实例化子类对象时,先执行父类中无参数的构造方法,然后再执行子类中的构造方法

    3、在子类构造方法中,使用super关键字调用父类的有参数的构造方法,子类将不会再自动调用父类的无参数的构造方法

    第三次课

    一、   抽象类和抽象方法

    1、     抽象方法——方法用abstract修饰

    a)   抽象方法,必须位于抽象类中

    b)   抽象方法,没有方法体{}

    c)   抽象方法,必须被子类重写

    2、     抽象类——类名用abstract修饰

    a)   作用:

    一般用来做父类通过抽象方法来约束子类的行为

    b)   使用时注意事项:

    l  有抽象方法的类,肯定是抽象类

    l  抽象类不能被实例化(创建对象)

    l  抽象类中可以包含抽象方法和非抽象方法

    l  抽象类中的非抽象方法,子类可以有选择性的重写,抽象方法,必须被子类重写

    二、   final修饰符

    1、     final修饰的变量——常量

    2、     final修饰的类——密封类或封闭类

    封闭类不能被其他类继承

             3、final修饰的——封闭方法,不能被子类重写

  • 相关阅读:
    Day 69
    Day 68
    Day 67
    Day 66
    Day 65
    Day 64
    Day 63
    Day 62
    Day 61
    Day 60
  • 原文地址:https://www.cnblogs.com/shuchongzeishuai/p/6991112.html
Copyright © 2020-2023  润新知