java向上转型发生的时机知识点详解

 更新时间:2021年05月23日 16:10:09   作者:小妮浅浅  
在本篇文章里小编给大家整理分享的是关于java向上转型发生的时机知识点内容,有兴趣的读者们可以参考下。

1、直接赋值

public static void main(String[] args) {
        //父类引用 引用了 子类引用所引用的对象
        Animal animal = new Cat();;//向上转型
}

2、方法传参

把一个Cat的子类传给一个Animal类型的父类,这里也是能发生向上转型的。

public class Test extends TestDemo {
 
    public static void func(Animal animal) {
        
    }
    public static void main(String[] args) {
        //父类引用 引用了 子类引用所引用的对象
        Cat cat = new Cat();
        func(cat);
    }
}

3、方法返回

func方法的返回类型是Animal,但返回的确是一个Cat类型,这里也是发生了向上转型。

public class Test extends TestDemo {
    public static Animal func() {
        Cat cat = new Cat();
        return cat;
    }
    public static void main(String[] args) {
        Animal animal = func();
    }
}

实例扩展:

package multistate;

public class Human {

    public void sleep() {
        System.out.println("Human sleep..");
    }

    public static void main(String[] args) {
        Human h = new Male();// 向上转型
        h.sleep();
        Male m = new Male();// 干嘛要向上转型
        m.sleep();
        // h.speak();此方法不能编译,报错说Human类没有此方法
    }
}

class Male extends Human {
    @Override
    public void sleep() {
        System.out.println("Male sleep..");
    }

    public void speak() {
        System.out.println("I am Male");
    }
}

class Female extends Human {
    @Override
    public void sleep() {
        System.out.println("Female sleep..");
    }

    public void speak() {
        System.out.println("I am Female");
    }
}

到此这篇关于java向上转型发生的时机知识点详解的文章就介绍到这了,更多相关java向上转型发生的时机内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot中@RequestBody不能和Multipart同时传递的问题解决

    SpringBoot中@RequestBody不能和Multipart同时传递的问题解决

    本文主要介绍了SpringBoot中@RequestBody不能和Multipart同时传递的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • java类加载机制、类加载器、自定义类加载器的案例

    java类加载机制、类加载器、自定义类加载器的案例

    这篇文章主要介绍了java类加载机制、类加载器、自定义类加载器的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • java 读写 ini 配置文件的示例代码

    java 读写 ini 配置文件的示例代码

    这篇文章主要介绍了java 读写 ini 配置文件,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • 浅谈java项目与javaweb项目导入jar包的区别

    浅谈java项目与javaweb项目导入jar包的区别

    下面小编就为大家分享一篇浅谈java项目与javaweb项目导入jar包的区别,具有很好的参考价值。希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • Java获取汉字对应的拼音(全拼或首字母)

    Java获取汉字对应的拼音(全拼或首字母)

    这篇文章主要介绍了Java如何获取汉字对应的拼音(全拼或首字母),文中实现的方法是引用了pinyin4j-2.5.0.jar,然后给出了完整的示例代码,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • Java中StringBuilder类的介绍与常用方法

    Java中StringBuilder类的介绍与常用方法

    StringBuilder是一个可变的字符串的操作类,我们可以把它看成是一个对象容器,下面这篇文章主要给大家介绍了关于Java中StringBuilder类的介绍与常用方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • 对数据进行分页显示到table中的实现方法

    对数据进行分页显示到table中的实现方法

    这篇文章主要介绍了对数据进行分页显示到table中的实现方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • springboot 自定义LocaleResolver实现切换语言

    springboot 自定义LocaleResolver实现切换语言

    我们在做项目的时候,往往有很多项目需要根据用户的需要来切换不同的语言,使用国际化就可以轻松解决。这篇文章主要介绍了springboot 自定义LocaleResolver切换语言,需要的朋友可以参考下
    2019-10-10
  • java开发AOP面向切面编程入门

    java开发AOP面向切面编程入门

    这篇文章主要介绍了java开发的AOP面向切面编程入门的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步学有所得
    2021-10-10
  • springmvc学习笔记-返回json的日期格式问题的解决方法

    springmvc学习笔记-返回json的日期格式问题的解决方法

    本篇文章主要介绍了springmvc学习笔记-返回json的日期格式问题的解决方法,解决了日期格式的输出,有兴趣的可以了解一下。
    2017-01-01

最新评论