zoukankan      html  css  js  c++  java
  • think_in_java_多态

    向上转型:对象既可以作为它自己本身的类型使用,也可以作为它的基类型使用。
    绑定:将一个方法调用同一个方法主体关联起来被称作绑定。若在程序执行前进行绑定(如果有的话,由编译器和连接程序实现),叫做前期绑定。后期绑定:在运行时根据对象的类型进行绑定【动态绑定或运行时绑定】java除了static方法和final方法之外,其他所有方法都是后期绑定。

    多态是一项让程序员“将改变的事物与未来的事物分离开来”的重要技术。
    对象方法若是静态的,则不具备多态性。
    当子类对象转型为父类引用时(Father fa=new Son();//upcast),任何域访问操作都将由编译器解析,故不是多态的。

    基类的构造器总是在导出类的构造过程中被调用,而且按照继承层次逐渐向上链接,以使每个基类的构造器都能得到调用。因为构造器具有一项特殊任务:检查对象是否被正确地构造。导出类只能访问自己的成员,不能访问基类成员(private)

    一个复杂对象调用构造器要遵守下面的顺序:
    ①调用基类构造器,这个步骤反复递归,首先是构造这种层次结构的根,然后是下一层导出类,直到最低层的导出类。
    ②按声明顺序调用成员的初始化方法。
    ③调用导出来构造器的主体。

    当覆盖被继承类的dispose()方法时,务必记住调用基类版本dispose()方法;否则,基类的清理动作不会发生(被多态了)。

    初始化的实际过程:
    ①在其他任何事物发生之前,将分配给对象的存储空间初始化成二进制的零。
    ②调用基类构造器,调用被覆盖后的方法。
    ③按照声明的顺序调用成员的初始化方法。
    ④调用导出类的构造主体。
    优点:所有东西的初始化为0(或者时某些特殊数据类型中与零等价的值)

    协变返回类型:表示在导出类中的覆盖方法可以返回基类方法的返回类型。

  • 相关阅读:
    iOS -- @try
    javaScript学习
    iOS -- js与原生交互
    iOS -- WKWebView
    iOS -- UIWindow的使用
    iOS -- app生命周期中代理方法的应用场景
    iOS -- keyChain
    UISegmentedControl
    明天你好
    编程:是一门艺术(转)
  • 原文地址:https://www.cnblogs.com/zhenzhenhuang/p/6694936.html
Copyright © 2011-2022 走看看