1. Lorsque cela est nécessaire, les valeurs de type int seront automatiquement converties en type double.
Mais d'un autre côté, vous pouvez forcer le type double à int, mais vous risquez de perdre des informations.
2. Si vous essayez de convertir une valeur d'un type en un autre type et dépassez la plage de représentation du type cible, le résultat sera tronqué en une valeur complètement différente.
Par exemple, la valeur réelle de (octet)300 est 44.
Exemple
//假若父类对象占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]是相同的
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!