• java多态


    我们都知道面向对象有四个基本特性:抽象、封装、继承、多态。这四个特性,概括起来可以这么理解,抽象、封装、继承是多态的基础,多态是抽象、封装、继承的表现。
    例如:不同类的对象对同一消息作出不同的响应就叫做多态。就像上课铃响了,上体育课的学生跑到操场上站好,上语文课的学生在教室里坐好一样。

    1.多态存在的三个条件
    1、有继承关系  
    2、子类重写父类方法  
    3、父类引用指向子类对象
    补充一下第二点,既然多态存在必须要有“子类重写父类方法”这一条件,那么以下三种类型的方法是没有办法表现出多态特性的(因为不能被重写):
    1、static方法,因为被static修饰的方法是属于类的,而不是属于实例的
    2、final方法,因为被final修饰的方法无法被子类重写
    3、private方法和protected方法,前者是因为被private修饰的方法对子类不可见,后者是因为尽管被protected修饰的方法可以被子类见到,也可以被子类重写,但是它是无法被外部所引用的,一个不能被外部引用的方法,怎么能谈多态呢

    2.多态的分类
    1、编译时多态,即方法的重载,从JVM的角度来讲,这是一种静态分派(static dispatch)
    2、运行时多态,即方法的重写,从JVM的角度来讲,这是一种动态分派(dynamic dispatch)

  • 相关阅读:
    singleTon 模式
    最近的工作经验
    sql server里的快捷键
    Bridge 模式
    [转]在.NET客户端程序中使用多线程
    wse
    关于高频查询界面
    判断字段值已经存在
    获取当前供应商的联系人信息
    获取系统常量
  • 原文地址:https://www.cnblogs.com/taoziBlogs/p/14274465.html
Copyright © 2020-2023  润新知