java中编译报错 ClassCastException 是什么原因,如何处理

ClassCastException  表示类型转换异常

例如:Pet 宠物类   Dog  狗狗类 (继承Pet)  Penguin 企鹅类(继承Pet)

  Dog  dog  =  (Dog)pet  ;  正确  向下转型

  Dog   dog =   (Dog)penguin  ;  错误  向下转型

处理方法:使用  instanceof  进行类型判断,可以避免类型转换异常

    Pet pet = new Dog();

  例:  if(pet  instanceof  Dog){

    Dog dog = (Dog)pet;    

    }else if(pet instanceof Penguin){

    Penguin  penguin = (Penguin)pet;

    }

原文地址:https://www.cnblogs.com/song-xingxing/p/10546552.html

时间: 2024-10-29 00:43:46

java中编译报错 ClassCastException 是什么原因,如何处理的相关文章

VC中编译报错:error C2011: 'fd_set' : 'struct' type redefinition

这是头文件包含顺序的问题,原因与解决办法见下面代码的注释. /* 包含下面这两个头文件时,必须把winsock2.h放在前面 否则编译报错,N多的重定义错误:例如 error C2011: 'fd_set' : 'struct' type redefinition */ #include <WinSock2.h> #include <Windows.h> int main(int argc, _TCHAR* argv[]) { Sleep(1); return 0; } 其实可以不

Java中 @override 报错

报错问题: 在我们导入别人的项目的时候有可能会出现Java类报错,点击错误时提示让我们remove掉@override.这是JDK版本的问题导致的跟源码无关. 解决方法: 方案1.直接删除掉报错的@override注解:这是最笨的方法,虽然这样直接remover掉没啥大问题,如果注解的地方比较多怎么办?所以这样不能从根本上解决问题.(不建议) 方案2.修改项目的JDK版本: @override注解在JDK1.5就出现了,在1.5的版本时@override是无法支持在接口的实现上.而在JDK1.6

java中的报错机制

异常:Exception,程序运行过程中因为一些原因,使得程序无法运行下去 注意:在程序能够运行起来的情况,不是程序编译通不过 举例:读文件,点击一个按钮,文件不存在:访问数据库服务器,数据库服务器停电了 (1)异常的出现 由于运行中遇到预想不到的情况 (2)异常的性质 1)出现异常,程序全部终止,不运行后面的代码 2)当出现异常时,系统会将异常封装在一个类的对象中,通知系统终止(抛出异常). 如果任由软件出现异常,软件将非常不稳定,质量很低 (3)异常如何处理? 1)用try将可能出现异常的代

@Override注解在Eclipse中编译报错

导入新工程后,发现默认用的jre是1.5版本的,在Eclipse中右击工程选择Build Path->点击Configure Build Path->Java Build Path->点击JRE System Library后点击Edit->jdk1.8版本,点击Finish,点击OK. 但发现工程里有个java文件有红叉叉,提示要移除Override注解.这个问题是jdk1.5版本才有,1.6版本以上已经解决.在Eclipse中右击工程选择Build Path->Confi

sublime3中编译报错Could not open input file

php搭建完后出现Could not open input file错误 本来以为是php的新建那里出错,百度后修改多次后,发现无效 {"cmd": ["php", "$file"],"file_regex": "^(...*?):([0-9]*):?([0-9]*)","selector": "source.php"} 最后发现是未保存文件.

maven web 项目中启动报错java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener

本篇文章主要介绍了"maven web 项目中启动报错java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener ",主要涉及到maven web 项目中启动报错java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener 方面的内容,对于maven web 项目中启动报错jav

IntelliJ Idea中一个编译报错引发的

package verify; public class Verifier { private String name; public Verifier() { this.name = getClass().getName();//getClass()在ItelliJ idea中会报错: } public static void main(String[] args) { Verifier verifier = new Verifier(); System.out.println("可以正常编译

【微信】微信小程序 微信开发工具中新创建的json文件,编译报错VM1781:2 pages/module/module.json 文件解析错误 SyntaxError: Unexpected end of JSON input

如果新创建报错:编译报错VM1781:2 pages/module/module.json 文件解析错误  SyntaxError: Unexpected end of JSON input 解决方法: 在JSON文件中添加 即可解决 { } 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/9076271.html

IDEA中写MyBatis的xml配置文件编译报错的坑

IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错误,错误提示为: xml中1字节的UTF-8序列的字节1无效 The cause of this is a file that is not UTF-8 is being parsed as UTF-8. It is likely that the parser is encountering a