java强制类型转换方法怎么使用
作者:归人云淡风轻
时间:2023-04-28
浏览:1
1、在必要时,int类型的值将会自动转换为double类型。但另一方面,可以把double类型强制转成int,但是可能会损失信息。2、如果试图将一个数值从一种类型强制转换为另一种类型,而又超出了目标类型的表示范围,结果就会截断成一个完全不同的值。例如,(byte)300的实际值为44。实例//假若父类对象占1M的内存,因为子类对象有一些其他内容,所以多占用0.5M内存,子类对象一共占1.5M内存People[]staff=newPeople[2];//这里我们定义了一个父类的对象,可以指向1M内存;sta
1、在必要时,int类型的值将会自动转换为double类型。
但另一方面,可以把double类型强制转成int,但是可能会损失信息。
2、如果试图将一个数值从一种类型强制转换为另一种类型,而又超出了目标类型的表示范围,结果就会截断成一个完全不同的值。
例如,(byte)300 的实际值为44。
实例
//假若父类对象占1M的内存,因为子类对象有一些其他内容,所以多占用0.5M内存,子类对象一共占1.5M内存
People[] staff = new People[2];//这里我们定义了一个父类的对象,可以指向1M内存;
staff[0] = new RichPeople("John", 18, 100,1200);//开辟了1.5M内存,但是实际只指向了1M内存
staff[1] = new RichPeople("Tp",20,200,20000);
if(staff[0] instanceof RichPeople){//判断staff[0]是否是RichPeople的实例
//先创建一个boss实例做暂存,把staff[0]做强制类型转换
//因为boss的引用就是staff[0],所以对boss的操作就是对staff[0]的操作
RichPeople boss = (RichPeople)staff[0];
boss.addDeposit(10000);
//也可以这样写:
//((RichPeople)staff[0]).addDeposit(10000);
//((RichPeople)staff[0])可以看做是创建了一个RichPeople类的匿名对象(等效于上面的boss)
//这个匿名对象的引用和RichPeople类型的staff[0]是相同的
作者最新文章
NetLimiter安装配置方法及详细操作步骤教程
2026-10-09 15:54
win10怎么只关闭大版本升级保留安全更新推送
2026-10-06 12:00
3ds Max修改器堆栈顺序对模型的影响及调整技巧
2026-10-04 12:33
荣耀MagicOS 11发布计划与Agent Harness架构解析
2026-09-08 19:23
AI重构企业业务架构:超聚变“智企”范式核心解析
2026-09-08 18:39
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































