Java多态使用方法是什么

技术Java多态使用方法是什么本篇内容介绍了“Java多态使用方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一

本文介绍了“什么是Java多态使用方法”的知识。很多人在实际案件操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

一 点睛

向上转型:或过渡到父类。通过子类的对象实例化父类的对象实际上是对象的向上转换。Upcast不需要强制类型转换,但会失去精度。

向下转型:或过渡到子类。也就是说,父类对象可以转换为子类对象,但此时必须执行强制类型转换。

向上转换时,父类对象可以看到的方法仍然是这个类中定义的方法(即子类覆盖的方法)。如果子类扩展了一些新方法,父类是不可见的。

二 父类对象找不到子类的扩充方法

1代码

class { public void print(){ system . out . println(' * * * *-父类base class:public void print(){ }({ } ');}} Classsubclass Extensions基类{ public void print()//方法重写{ system . out . println(' # # # #-# # #-subclass:public void print(){ } ');} public void getB() //这个方法是子类{ system }扩展的函数。out . println(' # # # #-子类:public void getb () {},B类扩展方法。) ;} }公共类new method test { public static void main(String args[]){ base class baseObj=new subClass();//实例化子类对象BaseObj . print();baseObj . GetB();//找不到此方法的父类}}

2次运行

编译失败。

3描述

虽然父类对象baseObj的实例化依赖于子类,但它能看到的是自己的类定义的方法名。如果方法被子类覆盖,被调用的方法体也是被子类覆盖的方法。

三 向下转型

1代码

class { public void print(){ system . out . println(' * * * *-父类base class:public void print(){ }({ } ');}} Classsubclass Extensions基类{ public void print()//方法重写{ system . out . println(' # # # #-# # #-subClass:print()');} public void getB() //这个方法是由子类{ system }扩展的函数。out . println(' # # # #-Subject:GetB(),Subject扩展方法。) ;} } public class downlasttest { public static void main(String args[]){ base class baseObj=new subClass();//实例化子类对象BaseObj . print();//调用print()subClass Subobj=(subClass)subClass的baseobj//向下过渡,强制完成subobj . getb();//找不到此方法的父类,但可以找到子类对象}}

2次运行

# # # #-subclass:print()# # #-subClass:GetB(),subClass扩展方法。

3描述

形式上,类定义的对象只能看到它所属的类的成员。虽然子类对象可以通过向上类型转换给父类对象赋值,但是父类对象只能看到子类中覆盖的成员(这些方法也已经在父类中定义了),父类对象看不到子类的新扩展方法。

四 隐藏

1电竞

在某些场景下,我们不希望父类的方法被子类的方法覆盖,也就是子类实例化后,会调用父类的方法,而不是子类的方法,需要隐藏。关键字Static修改的静态方法无法覆盖,Java利用这个特性来达到隐藏效果。

2代码

父类{ public static void overwriting(){ system . out . println(# # # # #-父方法');}}class Son扩展了父辈{ public static void overwriting(){ system . out . println(' * * * *-Son方法');} } public class hideSubscription { public static void main(String args[]){父辈爸爸=新儿子();dad . overwriting();父. overwriting();son . overwriting();}}

3运行

##### -父法##### -父法***** -子法

“如何使用Java多态性”内容到此结束。感谢您的阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/105116.html

(1)

相关推荐

  • 空间认证,谁能告诉我怎么弄腾讯认证空间

    技术空间认证,谁能告诉我怎么弄腾讯认证空间腾讯与2010年11月10日正式宣布认证QQ空间已经向所有QQ用户开放申请了,只要你是QQ空间用户就可以申请认证空间了,至于申请认证空间有什么用我们在文章的最后给大家分析下. 先

    生活 2021年10月20日
  • 如何解决interval 分区表clob默认表空间指定问题

    技术如何解决interval 分区表clob默认表空间指定问题这篇文章将为大家详细讲解有关如何解决interval 分区表clob默认表空间指定问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后

    攻略 2021年11月30日
  • JS构造函数和实例化的关系及原型引入举例分析

    技术JS构造函数和实例化的关系及原型引入举例分析这篇文章主要介绍“JS构造函数和实例化的关系及原型引入举例分析”,在日常操作中,相信很多人在JS构造函数和实例化的关系及原型引入举例分析问题上存在疑惑,小编查阅了各式资料,

    攻略 2021年11月29日
  • express框架

    技术express框架 express框架Express框架
    Express简化了关于NodeJS应用的开发
    官网地址:https://www.expressjs.com.cn/使用npm instal

    礼包 2021年10月19日
  • vue-cli脚手架中webpack配置基础文件有哪些

    技术vue-cli脚手架中webpack配置基础文件有哪些这篇文章主要讲解了“vue-cli脚手架中webpack配置基础文件有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年11月11日
  • 投入的近义词,“尽心尽力”类似的词语有哪些

    技术投入的近义词,“尽心尽力”类似的词语有哪些竭尽全力[jiéjìnquánlì]?:形容用尽全部力量投入的近义词。
    尽心尽力[jìnxīnjìnlì]:做事非常的卖力,或为非常的卖命,以用尽了自己所有的能力。
    尽心尽责

    生活 2021年10月30日