zoukankan      html  css  js  c++  java
  • 继承与多态

    第十七讲

    A)构造方法的重载:只需看参数即可。如果想在一个构造方法中调用另外一个构造方法,那么可以用this()的方式调用,this()括号中的参数表示目标构造方法的参数。this()必须要作为构造方法的第一条语句。

    B)继承:Java是单继承的,意味着一个类只能继承另一个类,继承使用extends关键字。

    C)当生成子类对象时,会默认先调用父类的不带参数的构造方法,生成父类对象,再执行该子类的构造方法,生成子类对象。

    D)如果子类的构造方法想调用调用父类的构造方法,可以用super()来显式调用,这样就不会寻找父类不带参数的构造方法。与this()一样,super()必须为构造方法中的第一条语句。

     

    E)关于继承的3点

    1)父类有的,子类也有

    2)父类没有的,子类可以增加

    3)父类有得,子类可以改变

     

    F)关于继承的注意事项

    1)构造方法不能被继承

    2)方法和属性可以被继承

    3)子类的构造方法隐式调用父类不带参数的构造方法

    4)当父类没有不带参数的构造方法,子类要用super()来调用父类的构造方法

     

    G) 方法重写:子类与父类的方法返回类型一样,名称一样,参数一样,这样子类与父类方法构成了重写关系。

    H)方法重写 与 方法重载 的关系:重载发生在同一个类内部,重写发生在父类与子类之间。

    I)子类的方法内可以用 super().方法 形式来调用父类的方法,且不必摆在方法的第一行。

    J)在定义一个类时,如果没有显示指定该类的父类,那么该类就会继承于java.lang.Object类。

    K)多态:子类就是父类,男人是人,玫瑰是花,多态是指:父类型的引用可以指向子类型的对象。

     

    L)Parent p = new Child();当使用多态方式调用方法时,首先检查父类中是否有那个方法,如果没有则编译错误。因为p是父类型,父类型不一定有子类型的方法。

    a)向上类型转换(upcast):比如说Cat类型转换为Animal类型,即子类转换为父类型,不需要显示指定。

    b)向下类型转换(downcast):比如Animal类型转换为Cat类型,即父类型转换为子类型,需要使用强制类型转换,同时这个父类的引用需要指向该子类的对象。

     

    学习之所以会想睡觉,是因为那是梦开始的地方。
  • 相关阅读:
    固定sql语句传参批量查询数据库脚本
    超多行数据纵向编辑
    takes 3 positional arguments but 4 were given错误
    使用PMD进行代码审查(转)
    WebADI应用到Office 2016 64-bit
    SVN 提交代码时强制加入注释内容
    DOCKER初体验
    "make_path" is not exported by the File::Path modul
    perl 调用shell脚本
    scp 上传文件到多个服务器节点
  • 原文地址:https://www.cnblogs.com/vmax-tam/p/4050138.html
Copyright © 2011-2022 走看看