iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java多态怎么理解
  • 601
分享到

java多态怎么理解

2023-06-14 12:06:33 601人浏览 八月长安
摘要

这篇文章主要介绍java多态怎么理解,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在java中,多态是同一个行为具有多个不同表现形式或形态的能力;多态就是同一个接口,使用不同的实例而执行不同操作。多态的优点:1、消除

这篇文章主要介绍java多态怎么理解,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在java中,多态是同一个行为具有多个不同表现形式或形态的能力;多态就是同一个接口,使用不同的实例而执行不同操作。多态的优点:1、消除类型之间的耦合关系;2、可替换性;3、可扩充性;4、接口性;5、灵活性;6、简化性。

教程操作环境:windows7系统、java8版、DELL G3电脑。

多态概述

多态是继封装、继承之后,面向对象的第三大特性。

多态现实意义理解:

  • 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是,即出现两种形态

  • Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。

多态体现为父类引用变量可以指向子类对象

前提条件:必须有子父类关系。

注意:在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。

多态的定义与使用格式

定义格式:父类类型 变量名=new 子类类型();

理解:

多态是同一个行为具有多个不同表现形式或形态的能力。

多态就是同一个接口,使用不同的实例而执行不同操作。

多态的优点

  • 消除类型之间的耦合关系

  • 可替换性

  • 可扩充性

  • 接口性

  • 灵活性

  • 简化性

多态存在的三个必要条件

  • 继承

  • 重写

  • 父类引用指向子类对象:Parent p = new Child();

多态中成员的特点

多态成员变量:编译运行看左边

Fu f=new Zi();System.out.println(f.num);//f是Fu中的值,只能取到父中的值

多态成员方法:编译看左边,运行看右边

Fu f1=new Zi();System.out.println(f1.show());//f1的门面类型是Fu,但实际类型是Zi,所以调用的是重写后的方法。

instanceof关键字

作用:用来判断某个对象是否属于某种数据类型。

注意: 返回类型为布尔类型

使用案例:

        Fu f1=new Zi();        Fu f2=new Son();        if(f1 instanceof Zi){            System.out.println("f1是Zi的类型");        }        else{            System.out.println("f1是Son的类型");        }

多态的转型  

  • 多态的转型分为向上转型和向下转型两种

  • 向上转型:多态本身就是向上转型过的过程

使用格式:父类类型 变量名=new 子类类型();

适用场景:当不需要面对子类类型时,通过提高扩展性,或者使用父类的功能就能完成相应的操作。

  • 向下转型:一个已经向上转型的子类对象可以使用强制类型转换的格式,将父类引用类型转为子类引用各类型

使用格式:子类类型 变量名=(子类类型) 父类类型的变量;

适用场景:当要使用子类特有功能时。

多态案例:

例1:(理解多态,可以重点看这个案例

package day0524;public class demo04 {    public static void main(String[] args) {        People p=new Stu();        p.eat();        //调用特有的方法        Stu s=(Stu)p;        s.study();        //((Stu) p).study();    }}class People{    public void eat(){        System.out.println("吃饭");    }}class Stu extends People{    @Override    public void eat(){        System.out.println("吃水煮肉片");    }    public void study(){        System.out.println("好好学习");    }}class Teachers extends People{    @Override    public void eat(){        System.out.println("吃樱桃");    }    public void teach(){        System.out.println("认真授课");    }}

例2:

请问题目运行结果是什么?

package day0524;public class demo1 {    public static void main(String[] args) {        A a=new A();        a.show();        B b=new B();        b.show();    }}class A{    public void show(){        show2();    }    public void show2(){        System.out.println("A");    }}class B extends A{    public void show2(){        System.out.println("B");    }}class C extends B{    public void show(){        super.show();    }    public void show2(){        System.out.println("C");    }}

答案:A B

以上是“java多态怎么理解”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: java多态怎么理解

本文链接: https://www.lsjlt.com/news/270888.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java多态怎么理解
    这篇文章主要介绍java多态怎么理解,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在java中,多态是同一个行为具有多个不同表现形式或形态的能力;多态就是同一个接口,使用不同的实例而执行不同操作。多态的优点:1、消除...
    99+
    2023-06-14
  • Java多态性怎么理解
    本篇内容主要讲解“Java多态性怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java多态性怎么理解”吧!面向对象编程有三个特征,即封装、继承和多态。封装隐藏了类的内部实现机制,从而可以...
    99+
    2023-06-17
  • 怎样理解Java中的多态
    今天就跟大家聊聊有关怎样理解Java中的多态,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、多态的概念       继承关系使一个子类能继承...
    99+
    2023-06-22
  • Java之理解多态详解
    目录一、多态的概念二、多态的特点三、instanceof操作符四、多态的转型1、向上转型2、向下转型五、方法重写六、小结一、多态的概念        继承关系使一个子类能继承父类的特...
    99+
    2024-04-02
  • C#多态性怎么理解
    这篇文章主要讲解了“C#多态性怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#多态性怎么理解”吧!C#多态性的内涵实际就是通过继承,一个类可以用作多种类型:可以用作它自己的类型、任...
    99+
    2023-06-17
  • Java多态详解
    目录 1. 基本介绍1.1 多态的概念1.2 多态的具体体现1.3 入门案例 2. 多态的转型2.1 向上转型2.2 向下转型2.3 代码示例2.4 转型的异常2.4.1 类型转换异常2....
    99+
    2023-10-03
    java
  • java动态绑定怎么理解
    这篇文章主要介绍“java动态绑定怎么理解”,在日常操作中,相信很多人在java动态绑定怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java动态绑定怎么理解”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-30
  • Java多线程怎么理解
    本文小编为大家详细介绍“Java多线程怎么理解”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java多线程怎么理解”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1 线程池的优势总体来说,线程池有如下的优势:(1...
    99+
    2023-07-05
  • 如何理解java 多态与抽象类
    今天就跟大家聊聊有关如何理解java 多态与抽象类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言今天是2021LOL全球总决赛,一直不被大家看好的EDG冲到了决赛对战韩国队的DK...
    99+
    2023-06-25
  • Java中怎么实现多态
    这篇文章将为大家详细讲解有关Java中怎么实现多态,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。多态多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确...
    99+
    2023-06-20
  • java中多态的原理是什么
    今天就跟大家聊聊有关java中多态的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2...
    99+
    2023-06-14
  • 如何理解Java多态中的动态绑定和静态绑定
    如何理解Java多态中的动态绑定和静态绑定,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在多态中:成员变量和静态方法编译和运行都看左边;成员方法编译看左边,运行看右边,这是为什...
    99+
    2023-06-02
  • java中多态概念、实现原理详解
    一.什么是多态?1.多态的定义指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)2.多态的作用消除类型之间的耦合关系3.多态的说明近代网络小说泛滥,我们可以用它来举一个例子...
    99+
    2023-05-31
    java 多态 ava
  • python 多态的理解
    1 class Human(object): # 父类 :创建“人”类 2 3 def __init__(self): 4 5 print('Ill pound the code and...
    99+
    2023-01-30
    多态 python
  • Java-多态
    目录 1.多态的概念 2.多态的实现条件。 3.重写 4.向上转型和向下转型 5.多态的优缺点 6.避免在构造方法中调用重写方法 1.多态的概念         多态字面意思就是多种形态,具体点就是完成某个行为时,不同的对象完成时产生...
    99+
    2023-08-31
    java 开发语言
  • 【JAVA】多态
    作者主页:paper jie_的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将ja...
    99+
    2023-09-06
    java 开发语言
  • java对象实例化过程中的多态特性怎么理解
    本篇内容主要讲解“java对象实例化过程中的多态特性怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java对象实例化过程中的多态特性怎么理解”吧!java 对象实例化过程中的多态特性执行...
    99+
    2023-06-21
  • 怎么理解Java和SAP ABAP的静态代理和动态代理
    本篇内容介绍了“怎么理解Java和SAP ABAP的静态代理和动态代理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下图是某应用里方法的常规...
    99+
    2023-06-02
  • java多态实现的原理是什么
    Java多态的实现原理是通过方法的重写和方法的动态绑定实现的。多态是指同一个方法在不同的对象上可以有不同的表现形式。在Java中,一...
    99+
    2023-09-22
    java
  • Java之多态
    多态 多态的实现条件重写重写的定义重写的例子方法重写的条件 多态思想动态绑定与静态绑定 作者简介: zoro-1,目前大一,正在学习Java,数据结构等 作者主页:zoro-1的主页 欢迎大家点赞 👍...
    99+
    2023-08-16
    java 开发语言 笔记
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作