java多态

市面上对于多态往往有两种说法,一种是多态是通过方法的重载和方法的重写来实现多态,另外一种是父类型的引用指向子类型的对象或者接口类型的引用指向实现接口的类的实例。

其实两种说法都不全面,首先,要从字面上来理解什么是多态,多态,即,多种状态,以上两种说法都代表了两种状态。java中多态可以分为静态多态和动态多态。

1、静态多态:

demo1

public void sum(i, j){ return i + j; }

public void sum(i, j ,k){return i + j + k; }

静态多态在编译期间就可以确定其是否符合语法规范,如果前面两个方法名字,参数都一样的话,(这里的参数相同,表示参数的类型,个数,顺序必须一样)在编译期间是无法通过的,此为静态多态,在编译期间就可以确定一个函数或者其他类型的变量或者引用可以同时存在,并且符合语法规范,那么都可以称为静态多态。


2、动态多态:

demo2

public abstract class People

{

public void play();

}

People man = new Man();

People woman = new Woman();

第二种多态算比较正规的多态了,我们说我可以是人,也可以是狗,谔谔....,这个。。。好吧这中太过分。我们说一个人People可以是男人Man也可以是女人Woman,在编译期间这中关系是无法确定的,编译期间他只会清楚这个引用指向某个对象,但是具体指向的是那个对象,只有在执行的时候才可以确定,我们在定义对象的时候可以People man = new Dog(); 在编译期间也是没有错的。接口同理,此为动态多态。


工作学习至于,无聊至极,胡说八道一番,不当之处,欢迎指正!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 写在前面 由于找工作的原因,最近几个月都没有更新博客了。。。这篇可能是今年最后一篇总结类的博文了,希望能够写的好点...
    niaoge2016阅读 13,061评论 1 52
  • 一、多态 1. 概述 理解:多态可以理解为事物存在的多种体(表)现形态。例如:动物中的猫和狗。猫这个对象对应的是猫...
    陈凯冰阅读 2,726评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,517评论 18 399
  • 多态通过分离做什么和怎么做,从另一个角度将接口实现分离开来 多态的作用是消除类型之间的耦合 多态方法允许一种类型表...
    CrazyYong阅读 3,987评论 1 4
  • 1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的...
    时待吾阅读 3,043评论 0 1

友情链接更多精彩内容