1. When necessary, values of int type will be automatically converted to double type.
But on the other hand, the double type can be forced to int, but information may be lost.
2. If you try to cast a value from one type to another type and exceed the representation range of the target type, the result will be truncated into a completely different value.
For example, the actual value of (byte)300 is 44.
Example
//假若父类对象占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]是相同的
The above is the detailed content of How to use java forced type conversion method. For more information, please follow other related articles on the PHP Chinese website!