zoukankan      html  css  js  c++  java
  • 多态

    其中,继承和接口实现都可以看成是java的三大特性之一的继承;

    继承时候,访问成员方法是  等号右边new的是谁就用优先考虑谁的方法,没有再往上找;

    访问成员变量是  等号左边引用的是谁就优先访问谁的成员变量,没有再往上找;

    成员变量不可以覆盖重写,就看你有没有,且都是只能向上找;

    即多态 的访问成员变量和成员方法的规则和普通继承一样;

    访问成员方法时候:编译看左,运行看右,没有向上找;

    其中,Zi类中是有独有的成员方法methodZi()的,但是还是编译报错;

    访问成员变量时候,编译看左,运行还看左,没有则向上找;

    父类的成员方法不是抽象方法,抽象方法必须存在于抽象类中,父类是可以直接创建对象的; 

    抽象类也可以作为父类;

    多态的意义:左边代码一直不变

    左边代码一直不变,右边new出来的可能各种各样的子类;

    向上转型和向下转型:

    其中,Cat类中有独有的成员方法catchMouse()的,但是因为多态性,向上转型之后是不可以调用的,编译报错;

    解决方法是向下转型为子类:

     instanceof使用,判断向上转型后的父类是哪个子类转的:

  • 相关阅读:
    Python数据分析与机器学习-Pandas_1
    Python数据分析与机器学习-NumPy_5
    Python数据分析与机器学习-NumPy_3
    Python数据分析与机器学习-NumPy_4
    Python数据分析与机器学习-NumPy_2
    Python数据分析与机器学习-NumPy_1
    早起的鸟儿会摔倒
    我讨厌这样的自己
    依然很迷茫?
    孵客总结
  • 原文地址:https://www.cnblogs.com/wmqiang/p/10648505.html
Copyright © 2011-2022 走看看