JAVA强制类型转换常见错误
这篇文章主要讲解:JAVA强制类型转换经常遇到的问题,主要分为2种情况。
1、当两个类没有继承关系时:
package Test;public class Test {public static void main(String []args) {C c = new C();B b = (B) c;}
}class B extends A {public void locate() {System.out.println("class B");}
}class C {public void locate() {System.out.println("class C");}
}
此时,(B)c这行代码下边会出现错误提示:
Cannot cast from C to B
2、当超类强制转换为子类时:
package Test;public class Test {public static void main(String []args) {A a = new A();B b = (B) a;}
}class A {public void locate() {System.out.println("class A");}
}class B extends A {public void locate() {System.out.println("class B");}
}
这时,代码不会出现错误提示,但运行时会抛出异常:
java.lang.ClassCastException
正确解决办法:在进行强制类型转换时,使用instanceof进行判断:
package Test;public class Test {public static void main(String []args) {A a = new A();if(a instanceof B) {B b = (B) a;}}
}class A {public void locate() {System.out.println("class A");}
}class B extends A {public void locate() {System.out.println("class B");}
}
JAVA强制类型转换常见错误相关推荐
- java强制转换用法_Java入门课|这才是Java强制类型转换的正确使用方法,你真的会用这些吗...
[摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...
- Java强制类型转换异常
1 问题 如果你的项目中出现如下情况:说明你的java类文件中你运用了强制转换. 2 方法 (1) 先分析报错内容,报错时,一定要看主要问题,因为我遇到的主要问题是如下: (2) 说明我文件夹modl ...
- java.lang.ClassCastException(java强制类型转换异常)
ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误.下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法. 这 ...
- java 强制类型转换_lt;08gt;数据类型转换
视频教程: Java轻松入门经典教程-数据类型转换ke.qq.com Java是一门强类型语言: (1)强类型定义语言:强制数据类型定义的语言.也就是说,一旦一个变量被指定了某个数据类型,如果不经过 ...
- java 类型转换异常_java.lang.ClassCastException(java强制类型转换异常)
ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误.下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法. 这 ...
- java强制类型转换(java强制类型转换有哪些)
强制类型转换指的是什么? 强制类型转换隐式自动类型转换编辑C++语言编译系统提供的内部数据类型的隐式自动转换规则如下:1.执行算术运算时,低类型(短字节)可以转换为高类型(长字节):例如:int型转换 ...
- java 强制类型转换
学以致用- 最近在做网络请求的数据解析时,在考虑是用范型还是强制类型转换,范型是从java1.5出来的,好处是安全简单,可以将运行时错误提前到编译时错误,但是如果用范型的话,我需要每一个网络请求,都写 ...
- 一文了解Java强制类型转换
本专栏由十年Java开发经验专家编写,本专栏定位于Java基础知识,既适合新手入门又适合老鸟巩固基础知识.一共99节课,每节课只需几毛钱. 作者简介:笔名seaboat,擅长工程算法.人工智能算法.自 ...
- 020 C语言基础:C语言强制类型转换与错误处理
文章目录 一:概述 二:整数提升 三:常用的算术转换 四:错误处理 4.1:概述 4.2:errno/perror()/strerror() 一:概述 强制类型转换是把变量从一种类型转换为另一种数据类 ...
最新文章
- android图片gif动画效果,android中类似于gif 实现图片的动画效果
- ring0下的 fs:[124]
- 零基础可以学python吗-学Python需要什么基础知识?零基础可以学Python吗?
- 支付宝支付集成,上传RSA公钥一直显示格式错误
- TensorFlow学习笔记(四)自己动手求Weights和biases
- 文件的删除和文件信息的读取
- freeRTOS V10.0.1移植到STM32F407标准库 - 环境Keil5
- Linux 内核系统架构
- 网易易盾升级内容安全体系 发布智能审核管理系统
- android使用遥控器模拟鼠标拖拽操作
- Day22——十字链表
- 一道有趣的OSPF配置实例——OSPF P2P接口妙用
- iOS 系统分享功能
- 虚拟机自省XenAccess和vmitools
- .net分流抢票助手
- SSL协议密钥交换过程理解
- POJ 1795 DNA Laboratory 已被翻译
- 【未解决】pyrit:Scapy 2.x is required to use Pyrit‘s analyze/attack functions but seems to be unavailab
- 我国主要城市2023年房价数据
- 机载点云单木分割方法和实现过程的概括介绍(论文赏析)
热门文章
- include,include_once,require,require_once的区别
- des 加密 iOS
- mysql实现统计查询_MySQL 统计查询实现代码
- 如今做网商还能以前一样吗?网站必不可少
- 《Microsoft Sql server 2008 Internals》读书笔记--第六章Indexes:Internals and Management(3)
- 浏览器低延时播放监控摄像头RTSP海康大华硬盘录像机NVR视频(EasyNVR播放FLV视频流)
- C++图像处理简单版
- the work directory /tmp/ oracle,Oracle升级问题总结
- ACFLY开源飞控的介绍
- qt中颜色对话框弹出时应用程序输出栏出现setGeometry: Unable to set geometry 152x30+682+300 on QWidgetWindow/‘QColorDialo