zoukankan      html  css  js  c++  java
  • java 多态学习随笔

    抽象类和接口的异同:

    相同点:都是不断向上抽取而来的

    不同点:

    1.抽象类需要被继承,而且只能单独继承。

     接口需要被实现,而且可以多实现。

    2.抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。

     接口中只能定义抽象方法,必须由子类去实现。

    3.抽象类的继承,是 is a 关系,在定义该体系的基本共性内容。

     接口的实现是  like a 关系,在定义体系的额外功能。

    instanceof 例:a instanceof person 用于判断对象的具体类型,只能用于引用数据类型判断

    通常在向下转型前用于健壮性的判断。

    多态在代码中的体现:父类或者接口的引用指向其子类的对象。

    多态的好处:提高代码的扩展性,前期定义的代码可以使用后期的内容。

    多态的弊端:前期定义的内容不能使用(调用)后期子类的特有内容。

    多态时:

    1.成员变量:

      编译时,参考引用型变量所属的类中是否有调用的成员变量,有,编译成功;没有,编译失败。

      运行时,参考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量。

      简单的说:编译运行都参考等号的左边。

    2.成员函数(非静态):

      编译时,参考引用型变量所属的类中是否有调用函数,有,编译成功;没有,编译失败。  

      运行时,参考的是对象所属的类中是否有调用的函数。

      简单的说:编译看左边,运行看右边。

    3.静态函数:

      编译时,参考引用型变量所属的类中是否有调用的静态方法。

      运行时,参考引用型变量所属的类中是否有调用的静态方法。

      简单的说:编译和运行都看左边。

      其实对于静态方法,是不需要对象的,直接用类名调用即可。

  • 相关阅读:
    深入理解MySQL开发性能优化.pptx
    公司mysql数据库设计与优化培训ppt
    weblogic 12c下jxls导出excel报错Could not initialize class org.apache.poi.xssf.usermodel.XSSFVMLDrawing
    智软科技医疗器械GSP监管软件通过多省市药监局检查
    论元数据和API管理工具
    sql server 2008空间释放
    论软件系统的设计与开发
    说说IT技术团队招聘那点事
    分布式系统基础设施概览
    分布式环境下rabbitmq发布与订阅端
  • 原文地址:https://www.cnblogs.com/wangxh92/p/3671953.html
Copyright © 2011-2022 走看看