java中多态性的概念,java多态特点

  java中多态性的概念,java多态特点

  

目录

1.多态性的概念2。向上转化2.1概念2.2向上转化的常见形式3。重写3.1重写的注意事项是继承内容结束后的多态性,这也是面向对象程序的特点。

 

  有一点需要注意:为了演示方便,我在一个java文件中定义了多个类,但实际上不建议这样做。

  00-1010简单来说就是不同的对象执行相同的行为,但是它们产生不同的状态。

  一个很简单的例子:学校某个班的学生参加同一个考试。考完试,不同的学生考试成绩不一样,有的不及格,有的徘徊在及格线上,有的得了高分。所以你是什么水平~ ( ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

  实现多态性需要条件,具体条件如下:

  1.肯定是在继承制度下,向上转化发生了。

  2.子类应该覆盖父类的方法。

  3.通过父类的引用调用重写方法

  下面将详细介绍上面提到的一些新概念。

  

1.多态的概念

 

  00-1010让我们对之前编写的类做一些修改:

  class Plant { String name字符串源;弦属;public void func(){ system . out . println(父类方法);}} classtree扩展plant { public void trait(){ system . out . println(子类方法);}}向上转化就是创建一个子类对象,并将其作为父类。

  具体操作如下:

  植物树=新树();因为它被用作父类,tree此时不能调用子类的方法。

  Java里有向下转换,但是不安全,我们就跳过。

  00-1010上面的例子是第一个:直接赋值。

  此外,还有两种形式。

  作为该方法的参数。

  作为方法的返回值

  00-1010,即子类重写父类的方法。此方法不能是构造函数,也不能由private、final和static修饰。我们重写的是方法的内容,方法名、返回值、方法的参数都不能修改。

  仍然是修改类:

  class Plant { String name字符串源;弦属;public trait(){ system . out . println(父类方法);}}类树扩展了plant { @ override//注释,这个注释可以用于一些合法的验证。public void trail(){ system . out . println(子类方法);}}我们来看看向上转化后调用trait的结果是什么:

  所谓的就是子类的方法,这也是重写的特点。

  其实编译的时候调用的是父类的方法,但是重写的方法决定了在执行阶段调用哪个方法(即动态绑定),这也是重写和重载的本质区别。

  00-1010 1.静态、最终、私有的修饰方法和构造方法不能重写。

  2.子类方法的访问权限应该大于或等于父类。

  3.JDK7以后,被覆盖的方法返回值的类型可以不同,但必须有父子关系,属于协变类型。

  4.不要在构造函数中调用被重写的方法。

  最后一点单独说明:假设父类的构造函数调用了被覆盖的方法,因为子类的构造函数会先调用父类的构造函数,所以在子类对象被完全构造之前,被覆盖的方法就已经被动态绑定了。在这种情况下,程序出现问题的概率会大大增加。

  在学习了向上转换和重写之后,我基本知道了如何在Java中实现多态性:结合向上转换和重写来实现继承体系下的多态性。

  多态内容结束,结束

  这就是本文从简单到深入分析Java中多态性概念的全部内容。有关Java中多态性的更多信息,请搜索以前关于流行IT的文章或继续浏览下面的相关文章。我希望你将来能支持流行它!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: