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

    1.多态高级   

    1).多态

    里氏替换原则:

           子类除了可以具有父类私有的成员和方法外,还有可以拥有自己特有的成员变量和方法.

    2).is和as

         is做的是类型判定

         as做的是类型转换,()强转.本行code不会有错误,如果转换不了.返回null.

    3).父类的虚方法,而且定义不必强制重写.

    父类的抽象方法,子类必须强制重写.

    4).抽象方法实行多态

    父类得是抽象类,而且定义了抽象方法.

    子类必须重写抽象方法

    5).

    抽象类和抽象方法注意点:手写()
    1.抽象类使用Abstract关键字修饰。
    2.抽象方法只能位于抽象类中。
    3.抽象类不能实例化
    4.抽象方法不能有方法体,甚至连{}都没有
    5.抽象类不能是静态类或者密封类
    6.子类必须重写抽象类中的所有抽象方法,除非子类本身也是一个抽象类
    7.抽象类中可以有普通方法
    8.抽象类可以有构造函数
    9.重写所有抽象方法的快捷键是Ctrl+.
    10.抽象类中抽象方法就是用来约束子类方法形式(签名)的


    原理要解:抽象类其实是可以实例化的,但是他的实例化方式不是通过new方式来创建对象,
    而是通过父类的引用来指向子类的实例来间接地实现父类的实例化
    (因为子类要实例化前,一定会先实例化他的父类。这样创建了继承抽象类的子类的对象,
    也就把其父类(抽象类)给实例化了).

    结论:抽象类是可以实例化的,不能通过new实例化,可以通过子类构造自动调度父类构造实例化

  • 相关阅读:
    最快的进程间通信方式你get了么
    【Java】简易Socket连接实现
    【Java】基于RXTX的Java串口通信
    【Android】WebDav For Android
    【Java】Swing实现一个简单的计算器
    (未完成)【Android】MVP模式初见(一)
    【编译原理】TEST递归下降演示
    【Android】LitePal的基础
    【Flutter】Demo1一个名字生成器
    【Flutter】环境搭建以及HelloWorld创建
  • 原文地址:https://www.cnblogs.com/2652405350wch/p/6575164.html
Copyright © 2011-2022 走看看