zoukankan      html  css  js  c++  java
  • 多态

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

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

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

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

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

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

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

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

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

    抽象类也可以作为父类;

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

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

    向上转型和向下转型:

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

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

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

  • 相关阅读:
    生成全局id的方式
    如何使得搜索的信息更准确?
    水平分区
    大表如何优化?
    MySQL_fetch_array和MySQL_fetch_object的区别是什么?
    BLOB和TEXT区别
    如何在Unix和MySQL时间戳之间进行转换?
    用ActionSupport实现验证
    服务器端验证--验证框架验证required.
    自定义类型转换器converter
  • 原文地址:https://www.cnblogs.com/wmqiang/p/10648505.html
Copyright © 2011-2022 走看看