• java第二章继承


    继承(extends)面向对象三大特征之一

    类中有许多相同的属性和方法,代码重复,如果需要修改涉及较多类修改量增多

    将子类中共有的属性和方法提取到父类,让子类继承父类,减少代码量,扩展性维护性,子类可通过super(构造方法)调用父类属性,列super.sethealth(99)

    重写:

    由来:当子类中的属性和方法父类不能满足时,则可以对父类的同名方法进行重写(覆盖)以满足子类的需求

    必须满足的条件:重写方法和被重写方法的方法名相同,参数列表相同,返回值类型相同或是其子类,重写方法不能小于被重写方法的权限(直接相同就行)

    重载(overloading)和重写(overriding)有什么区别和联系?

    答:重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型和修饰符无关。
    重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相同(或是其子类)、访问修饰符不能严于父类。

    子类运用super.方法名来调用父类被重写的方法 | super出现在子类的方法和构造方法中,不是其他位置

    super.属性名(调用父类的属性)   super.方法名(调用父类的方法 )   super(构造方法参数)  只能出现在子类的构造方法中

    抽象类:

    父类实例化对象没什么用处,限制父类实例化

    抽象类和抽象方法的特点:

    abstract修饰的类和方法成为抽象类和抽象方法

    抽象类不能被实例化,抽象方法子类必须重写

    抽象类中可以有0到多个或全部都是抽象方法

    抽象方法只有方法声明,没办法实现,有抽象方法的类必须声明为抽象类,子类必须重写所有的抽象方法才能被实例化,否则这个子类还是一个抽象类

    继承条件下构造方法调用规则:

    如果在子类的构造方法中没有显示调用父类有参的构造方法,则将执行父类的无参构造方法

    如果子类的构造方法中通过super显示调用父类的有参构造方法,则会执行父类的有参构造方法,不执行父类的无参构造方法

    如果父类的构造方法中通过this显示调用自身的其它构造方法,则应在相应构造方法中应用以上两条规则

    abstract和final关键字的运用

    abstract用来修饰类和方法,不能用来修饰属性和构造方法(abstract修饰的方法其类必须是抽象类,抽象方法子类必须重写)

    final用来修饰类,方法,和属性,不能修饰构造方法(final修饰的类不能被继承,final修饰的属性和方法不能改动)

  • 相关阅读:
    iOS,Layer
    iOS 手势冲突
    ECharts
    手动安装Package Control
    webstorm配置svn详解
    js 对象 类型转换
    google 跨域解决办法
    关于内层DIV设置margin-top不起作用的解决方案
    图片与文字在div里实现垂直水平都居中
    css3之3D翻牌效果
  • 原文地址:https://www.cnblogs.com/yh0409/p/9948804.html
Copyright © 2020-2023  润新知