多类中的引用类型转换

    xiaoxiao2026-01-09  7

    1  引用类型转化氛围两种  第一种是自动类型转换   第二种是强制类型转换。

    2 下面我们用代码来学习两种转换:其中Animal是一个父类   Dog  和 Cat  是继承 Animal 的子类。

    Animal animal =new Dog() ;    //首先我们先构造一个Dog对象,然后用一个Animal类型变量animal引用它:   if(animal instanceof Dog){  //inatance作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。    Dog dog = (Dog)animal ;      // Dog对象被还原,强制类型转换    }else{         System.out.println("无法进行类型转换  dog");          }   if(animal instanceof Cat){   /inatance作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。      Cat cat = (Cat)animal;              }else{        System.out.println("无法进行类型转换  cat");         }

    运行结果:无法进行类型转化  cat    //  表明Dog 和Animal之间可以进行强制类型转换,而Cat 则不行

    -------------------------------------------------------------------------------------------------------------------------------------

    而当对程序做如下修改,则运行结果是什么都没有输出,表明Animal和Dog、Cat之间的发生的强制类型转换都没有问题。

    Animal animal =new Dog() ;//父类引用地址animal指向子类   if(animal instanceof Dog){               Dog dog = (Dog)animal ;    }else{         System.out.println("无法进行类型转换  dog");          }   Animal animal2 = new Cat();   if(animal2 instanceof Cat){     Cat cat = (Cat)animal2;   }else{        System.out.println("无法进行类型转换  cat");         }  }

    转载请注明原文地址: https://ju.6miu.com/read-1305823.html
    最新回复(0)