zoukankan      html  css  js  c++  java
  • 多态的理解

    一.多态的三个必要条件

    1. 多态是方法的多态,不是属性的多态

    2. 父类和子类,有联系,  

    3. 存在条件,方法的重写,继承,父类应用指向子类对象

     

    二.编译,运行时

    1、编译时多态,即方法的重载,从JVM的角度来讲,这是一种静态分派(static dispatch)

    2、运行时多态,即方法的重写,从JVM的角度来讲,这是一种动态分派(dynamic dispatch)

     

     

    三.访问成员变量的两种方式

    1. 直接通过对象名称访问成员变量,看等号左边是谁,优先用谁,没有则向上找.

      如果是访问方法,就要看等号右边是谁,优先用谁,没有则向上找,因为方法可以覆盖重写,变量不可以

    2. 间接通过成员方法访问

     

    四.访问成员方法的方式

    看等号右边是谁优先用谁,没有则向上找

    五.如何才能知道一个父类引用单的对象,本来是什么类?

    格式:

        对象 instanceof类名称

        这将会得到一个Boolean值结果,也就是判断前面的对象能不能当做后面类型的实例。

    总结:

    成员变量:编译看等号“=”左边,运行看等号右边。

    成员方法:编译看等号“=”左边,运行看等号右边

    在多态的代码当中,成员方法的访问规则是:

    看new的是谁,就优先用谁,没有则向上找

     

    自己写个小例子试一试就知道了,没什么复杂的

  • 相关阅读:
    BAT脚本编写要点(1)_特殊字符
    开源爬虫软件汇总
    使用Gradle发布项目到JCenter仓库
    解决Android中,禁止ScrollView内的控件改变之后自动滚动
    理解RESTful架构
    一种为 Apk 动态写入信息的方案
    Proguard配置注解
    使用statsvn统计svn中的代码量
    android如何释放图片缓存
    Git命令参考手册(文本版)
  • 原文地址:https://www.cnblogs.com/shuai666/p/14467700.html
Copyright © 2011-2022 走看看