这篇文章主要讲解: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强制类型转换常见错误相关推荐

  1. java强制转换用法_Java入门课|这才是Java强制类型转换的正确使用方法,你真的会用这些吗...

    [摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...

  2. Java强制类型转换异常

    1 问题 如果你的项目中出现如下情况:说明你的java类文件中你运用了强制转换. 2 方法 (1) 先分析报错内容,报错时,一定要看主要问题,因为我遇到的主要问题是如下: (2) 说明我文件夹modl ...

  3. java.lang.ClassCastException(java强制类型转换异常)

    ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误.下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法. 这 ...

  4. java 强制类型转换_lt;08gt;数据类型转换

    视频教程: Java轻松入门经典教程-数据类型转换​ke.qq.com Java是一门强类型语言: (1)强类型定义语言:强制数据类型定义的语言.也就是说,一旦一个变量被指定了某个数据类型,如果不经过 ...

  5. java 类型转换异常_java.lang.ClassCastException(java强制类型转换异常)

    ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误.下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法. 这 ...

  6. java强制类型转换(java强制类型转换有哪些)

    强制类型转换指的是什么? 强制类型转换隐式自动类型转换编辑C++语言编译系统提供的内部数据类型的隐式自动转换规则如下:1.执行算术运算时,低类型(短字节)可以转换为高类型(长字节):例如:int型转换 ...

  7. java 强制类型转换

    学以致用- 最近在做网络请求的数据解析时,在考虑是用范型还是强制类型转换,范型是从java1.5出来的,好处是安全简单,可以将运行时错误提前到编译时错误,但是如果用范型的话,我需要每一个网络请求,都写 ...

  8. 一文了解Java强制类型转换

    本专栏由十年Java开发经验专家编写,本专栏定位于Java基础知识,既适合新手入门又适合老鸟巩固基础知识.一共99节课,每节课只需几毛钱. 作者简介:笔名seaboat,擅长工程算法.人工智能算法.自 ...

  9. 020 C语言基础:C语言强制类型转换与错误处理

    文章目录 一:概述 二:整数提升 三:常用的算术转换 四:错误处理 4.1:概述 4.2:errno/perror()/strerror() 一:概述 强制类型转换是把变量从一种类型转换为另一种数据类 ...

最新文章

  1. android图片gif动画效果,android中类似于gif 实现图片的动画效果
  2. ring0下的 fs:[124]
  3. 零基础可以学python吗-学Python需要什么基础知识?零基础可以学Python吗?
  4. 支付宝支付集成,上传RSA公钥一直显示格式错误
  5. TensorFlow学习笔记(四)自己动手求Weights和biases
  6. 文件的删除和文件信息的读取
  7. freeRTOS V10.0.1移植到STM32F407标准库 - 环境Keil5
  8. Linux 内核系统架构
  9. 网易易盾升级内容安全体系 发布智能审核管理系统
  10. android使用遥控器模拟鼠标拖拽操作
  11. Day22——十字链表
  12. 一道有趣的OSPF配置实例——OSPF P2P接口妙用
  13. iOS 系统分享功能
  14. 虚拟机自省XenAccess和vmitools
  15. .net分流抢票助手
  16. SSL协议密钥交换过程理解
  17. POJ 1795 DNA Laboratory 已被翻译
  18. 【未解决】pyrit:Scapy 2.x is required to use Pyrit‘s analyze/attack functions but seems to be unavailab
  19. 我国主要城市2023年房价数据
  20. 机载点云单木分割方法和实现过程的概括介绍(论文赏析)

热门文章

  1. include,include_once,require,require_once的区别
  2. des 加密 iOS
  3. mysql实现统计查询_MySQL 统计查询实现代码
  4. 如今做网商还能以前一样吗?网站必不可少
  5. 《Microsoft Sql server 2008 Internals》读书笔记--第六章Indexes:Internals and Management(3)
  6. 浏览器低延时播放监控摄像头RTSP海康大华硬盘录像机NVR视频(EasyNVR播放FLV视频流)
  7. C++图像处理简单版
  8. the work directory /tmp/ oracle,Oracle升级问题总结
  9. ACFLY开源飞控的介绍
  10. qt中颜色对话框弹出时应用程序输出栏出现setGeometry: Unable to set geometry 152x30+682+300 on QWidgetWindow/‘QColorDialo