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

 更新时间:2021年05月23日 16:05:45   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于java向下转型基础知识点及实例内容,有兴趣的朋友们可以学习下。

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时也是这么想的,这误区导致我觉得向下转型就是没用的。

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

到此这篇关于java向下转型基础知识点及实例的文章就介绍到这了,更多相关java向下转型是什么意思内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringMVC @RequestBody Date类型的Json转换方式

    SpringMVC @RequestBody Date类型的Json转换方式

    这篇文章主要介绍了SpringMVC @RequestBody Date类型的Json转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • IDEA 2020.1.1好用的plugins插件推荐

    IDEA 2020.1.1好用的plugins插件推荐

    这篇文章主要介绍了IDEA 2020.1.1好用的plugins插件推荐,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 深入分析Spring BeanDefinition的构造元信息

    深入分析Spring BeanDefinition的构造元信息

    Bean Definition是一个包含Bean元数据的对象,它描述了如何创建Bean实例、Bean属性的值以及Bean之间的依赖关系,本文将带大家深入分析Spring BeanDefinition的构造元信息,需要的朋友可以参考下
    2024-01-01
  • Java语言获取TCP流的实现步骤

    Java语言获取TCP流的实现步骤

    使用Wireshark分析网络包时,一个很常用的功能就是选中一个TCP报文,然后查看这个TCP报文的TCP流,从而可以进一步分析建连是否慢了,断连是否正常等情况,那么本文就TCP流的概念以及在Java中如何获取,做一个简单的学习,需要的朋友可以参考下
    2023-11-11
  • Java适配器模式_动力节点Java学院整理

    Java适配器模式_动力节点Java学院整理

    这篇文章主要介绍了Java适配器模式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 解决HttpServletResponse和HttpServletRequest取值的2个坑

    解决HttpServletResponse和HttpServletRequest取值的2个坑

    这篇文章主要介绍了解决HttpServletResponse和HttpServletRequest取值的2个坑问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java设计模式之浅谈外观模式

    Java设计模式之浅谈外观模式

    这篇文章主要介绍了Java设计模式之外观模式的相关资料,需要的朋友可以参考下
    2022-09-09
  • Java多线程模拟银行系统存钱问题详解

    Java多线程模拟银行系统存钱问题详解

    本文将利用Java多线程模拟一个简单的银行系统,使用两个不同的线程向同一个账户存钱。文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-09-09
  • 基于Java实现简单的身材计算程序

    基于Java实现简单的身材计算程序

    这篇文章主要为大家详细介绍了如何利用Java实现简单的身材计算程序,可以计算身体的体脂率以及BMI数值等,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12
  • 解读@Bean和@Autowired、@Resource之间的区别

    解读@Bean和@Autowired、@Resource之间的区别

    这篇文章主要介绍了@Bean和@Autowired、@Resource之间的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03

最新评论