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)

相关推荐

  • 风的笔顺是,风的第二笔的笔画名称是什么

    技术风的笔顺是,风的第二笔的笔画名称是什么撇、横折弯钩/横斜钩、撇、点风的笔顺是。 风字详解: 一、详细信息:
    拼音:fēng、fěng  
    部首:风
    笔画:4
    二、笔顺图: 三、基本释义:
    (1)读作:fēn

    生活 2021年10月25日
  • Linux安装heartbeat 3.0集群源码怎么写

    技术Linux安装heartbeat 3.0集群源码怎么写Linux安装heartbeat 3.0集群源码怎么写,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题

    攻略 2021年10月22日
  • 文件夹选项怎么打开,怎么把文件夹选项找回来呀。。

    技术文件夹选项怎么打开,怎么把文件夹选项找回来呀。。让“文件夹选项”显示的方法有两个文件夹选项怎么打开。 方法一:组策略 点击“开始→运行”,在运行对话框中输入“gpedit.msc”命令,点击“确定”按钮后,弹出“组策

    生活 2021年10月28日
  • rnn网络训练方法(rnn在时间序列的表现)

    技术RNN如何训练并预测时序信号RNN如何训练并预测时序信号,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。上期我们一起用RNN做了一个简单的手写字分类器

    攻略 2021年12月21日
  • Python爬虫数据操作的技巧有哪些

    技术Python爬虫数据操作的技巧有哪些这篇文章主要讲解了“Python爬虫数据操作的技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python爬虫数据操作的技

    攻略 2021年11月20日
  • mysql中event怎么用

    技术mysql中event怎么用这篇文章主要为大家展示了“mysql中event怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中event怎么用”这篇文章吧。

    攻略 2021年11月2日