1. 필요한 경우 int 유형의 값이 자동으로 double 유형으로 변환됩니다.
그러나 반면에 double 유형을 int로 강제 설정할 수 있지만 정보가 손실될 수 있습니다.
2. 한 유형에서 다른 유형으로 값을 변환하려고 시도하고 대상 유형의 표현 범위를 초과하면 결과가 완전히 다른 값으로 잘립니다.
예를 들어 (바이트)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 강제 유형 변환 방법을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!