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]是相同的
以上就是java强制类型转换方法怎么使用的详细内容。