广告
返回顶部
首页 > 资讯 > 精选 >Java中向上转型与向下转型的区别有什么
  • 609
分享到

Java中向上转型与向下转型的区别有什么

javaava向上转型 2023-05-31 04:05:49 609人浏览 八月长安
摘要

Java中向上转型与向下转型的区别有什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 Java 向上转型和向下转型的详解转型是在继承的基础上而言的,继承是面向对象语

Java中向上转型与向下转型的区别有什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

 Java 向上转型和向下转型的详解

转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展。

向上转型:子类引用的对象转换为父类类型称为向上转型。通俗地说就是是将子类对象转为父类对象。此处父类对象可以是接口

向下转型:父类引用的对象转换为子类类型称为向下转型。

前者是一个向上转型,Animal dog 引用指向new Dog();子类对象当成父类对象,只能调用父类的成员,如果子类重写了父类的方法就根据这个引用指向调用子类重写的这个方法(这个方法就是覆盖override)。这个调用过程就称为“动态绑定”。

转型需要注意的问题:

向上转型时,父类指向子类引用对象会遗失除与父类对象共有的其他方法,也就是在转型过程中,子类的新有的方法都会遗失掉,在编译时,系统会提供找不到方法的错误。

实例如下:

public class Animal {     public void eat(){          System.out.println("animal eatting...");     }}class Bird extends Animal{     public void eat(){          System.out.println("bird eatting...");     }     public void fly(){          System.out.println("bird flying...");     }}class Main{        public static void main(String[] args) {          Animal b=new Bird(); //向上转型          b.eat();     b.fly(); //此处提示在Animal中没有定义fly方法。}

--结束END--

本文标题: Java中向上转型与向下转型的区别有什么

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

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

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

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

下载Word文档
猜你喜欢
  • Java中向上转型与向下转型的区别有什么
    Java中向上转型与向下转型的区别有什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 Java 向上转型和向下转型的详解转型是在继承的基础上而言的,继承是面向对象语...
    99+
    2023-05-31
    java ava 向上转型
  • Java向上转型和向下转型的区别说明
    目录向上转型和向下转型的区别1.代码实现2.实现向下转型3.此时执行程序简单认识向上转型和向下转型向上转型:父类引用指向子类对象向下转型:子类引用指向父类对象向上转型和向下转型的区别...
    99+
    2022-11-13
  • java向上转型与向下转型详解
    本文实例为大家分享了java向上转型与向下转型的具体代码,供大家参考,具体内容如下 基础知识:Java中的继承机制使得一个类可以继承另一个类,继承的类称为子类,被继承的类称为父类。在...
    99+
    2022-11-13
  • java向上转型和向下转型的概念是什么
    Java中的向上转型(Upcasting)和向下转型(Downcasting)是指对象在继承关系中的类型转换。向上转型是指将子类对象...
    99+
    2023-09-14
    java
  • 学习Java之如何正确地向上转型与向下转型
    目录一. 类型转型二. 向上转型1. 概念2. 特点3. 语法4. 案例三. 向下转型1. 概念2. 特点3. 语法4. 案例四. 结语一. 类型转型 将一个类型转换成另一个类型的过...
    99+
    2023-05-19
    Java向上转型与向下转型 Java向上转型 Java向下转型
  • java向下转型指的是什么意思
    这篇文章将为大家详细讲解有关java向下转型指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、概念向下转型就是父类对象转成子类对象。我们把一个父类引用 Animal类型的引用 给了一个 Bi...
    99+
    2023-06-15
  • java中多态的向上转型是什么意思
    今天就跟大家聊聊有关java中多态的向上转型是什么意思,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、说明向上转型就是把一个子类引用给一个父类引用,也就是父类引用 引用了子类的对象...
    99+
    2023-06-15
  • java中向上转型发生的示例代码
    这篇文章主要介绍java中向上转型发生的示例代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、直接赋值public static void main(String[] ar...
    99+
    2023-06-15
  • PHP中跳转与重定向的区别是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑PHP中跳转和重定向的区别跳转:浏览器认为: 当前URL请求成功, 重新请求新的URL.浏览器会 记录当前的URL 和 新的URL 在请求历史记录中.回退, 是可以回退...
    99+
    2015-10-03
    php 重定向 跳转
  • PHP中跳转与重定向的区别有哪些
    这篇文章主要讲解了“PHP中跳转与重定向的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中跳转与重定向的区别有哪些”吧!区别:1、跳转是当前URL请求成功,重新请求新的URL...
    99+
    2023-06-25
  • 转发与重定向在SpringMVC中的区别有哪些
    本篇文章给大家分享的是有关转发与重定向在SpringMVC中的区别有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在servlet中,转发和重定向是由request和res...
    99+
    2023-05-31
    重定向 springmvc
  • Java中检查型异常与非检查型异常的区别是什么
    本篇文章给大家分享的是有关Java中检查型异常与非检查型异常的区别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。     ...
    99+
    2023-05-31
    java 别是 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作