java向下转型基础知识点及实例

作者:小妮浅浅 时间:2022-07-01 11:48:38 

1、概念

向下转型就是父类对象转成子类对象。我们把一个父类引用 Animal类型的引用 给了一个 Bird类型 的引用,这就是向下转型

2、格式

子类 子类对象=(子类)父类实例

3、注意

向下转型的时候一定要进行强制类型转换

4、实例


class Animal {
   public String name;
   public void eat() {
       System.out.println(this.name + " 正在吃");
   }
}
class Cat extends Animal {

}
class Bird extends Animal {
   public int age;
   public void fly() {
       System.out.println(this.name+"起飞");
   }
}
public class Test extends TestDemo {
   public static void main(String[] args) {
       Animal animal = new Animal();
       Bird bird = (Bird) animal;//必须进行强制类型转换
   }
}

Java向下转型的意义

一开始学习 Java 时不重视向下转型。一直搞不清楚向下转型的意义和用途,不清楚其实就是不会,那开发的过程肯定也想不到用向下转型。

其实向上转型和向下转型都是很重要的,可能我们平时见向上转型多一点,向上转型也比较好理解。

但是向下转型,会不会觉得很傻,我是要用子类实例对象,先是生成子类实例赋值给父类引用,在将父类引用向下强转给子类

引用,这不是多此一举吗?我不向上转型也不向下转型,直接用子类实例就行了。

我开始学习Java时也是这么想的,这误区导致我觉得向下转型就是没用的。

随着技术的提升,我在看开源的项目学习,发现很多地方都用了向下转型的技术,这就让我重视了起来,想要重新来复习(学习)这个知识点。也是搜索了许多博客文章,但都没具体说明向下转型,只是给了例子演示怎么使用,反而是向上转型讲了一堆(可能是我没找到)。

来源:https://www.py.cn/java/jichu/30580.html

标签:java,向下转型
0
投稿

猜你喜欢

  • JavaWeb如何实现禁用浏览器缓存

    2021-09-13 01:27:45
  • 聊一聊Java的JVM类加载机制

    2023-11-08 03:58:37
  • springBoot项目如何实现启动多个实例

    2021-09-22 00:13:47
  • Spring Bean后处理器详细介绍

    2021-06-27 07:29:06
  • 详解spring boot引入外部jar包的坑

    2021-07-29 10:49:49
  • Java并发编程预防死锁过程详解

    2023-11-09 15:33:58
  • Java中的main函数的详细介绍

    2021-10-03 16:09:16
  • java 如何判断是否是26个英文字母

    2023-11-29 15:51:59
  • springboot+vue部署按照及运行方法

    2023-07-15 06:16:09
  • Groovy的规则脚本引擎实例解读

    2023-07-11 21:24:04
  • spring data jpa 查询自定义字段,转换为自定义实体方式

    2022-10-12 04:52:43
  • Spring Data Jpa 复杂查询方式总结(多表关联及自定义分页)

    2023-11-21 10:01:27
  • Java 中的Printstream介绍_动力节点Java学院整理

    2021-12-21 06:08:36
  • java 中sendredirect()和forward()方法的区别

    2021-11-07 18:39:28
  • 基于java构造方法Vector修改元素源码分析

    2023-11-25 10:54:56
  • Java文件上传下载、邮件收发实例代码

    2022-07-05 06:40:00
  • 解析Android 8.1平台SystemUI 导航栏加载流程

    2023-06-23 15:21:21
  • 关于线程池你不得不知道的一些设置

    2021-06-08 11:34:45
  • 使用webmagic实现爬虫程序示例分享

    2021-10-08 22:10:26
  • java使用HashMap实现斗地主(有序版)

    2021-08-30 10:24:10
  • asp之家 软件编程 m.aspxhome.com