Downcasting

Class A父类

public class A {
public void test(){
    System.out.println("Hi");
  }
}

Class B子类

public class B extends A {
    public void test(){
        System.out.println("Bye");
    }
}

进行downcasting,eclipse未出现警告

A a = new A();
((B)a).test();

运行结果报错

Exception in thread "main" java.lang.ClassCastException: A cannot be cast to B
    at B.main(B.java:25)

到底能不能进行downcasting?
不能向下转换。
父类中可能含有其他子类,例如猫不能转换成狗。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,155评论 0 62
  • 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以有多个类,但只能有一个publ...
    岳小川阅读 979评论 0 2
  • 在北京的这两天无时无刻不想起你,想你踏实的陪伴。在孤独无助时,想找你倾诉;在逛商场时,想有你陪伴;在地铁坐车时,想...
    夏天的风xy阅读 99评论 0 0