多态参数和环境造型

多态参数

方法参数具有多态性

class  Animal{

           void eat() {}

}

class  Cat extends Animal{

            void eat() {}

}

class Dog extends Animal{

            void eat(){}

}

//方法的形式参数类型是父类类型,而传递的实际参数可以是任意子类的对象

method(Animal  animal){  

     animal .eat();                

}

方法参数多态性的好处:提高代码的扩展性

 

 

 

多态环境下对象造型

向上造型 –又称自动类型提升

class Animal{

     abstract void eat();

}

class Cat extends Animal{

      void look() {

System.out.println("看家");

 }

    }      

 ………

   Animal x=new Cat()  //向上造型,Cat对象提升到Animal对象

   x.eat()   //只能使用父类中的方法

   x.look()  //报错!不能使用子类中的方法

向上造型的作用是:提高程序的扩展性。

 

 

向下造型 –又称向下转型

class Animal{

     abstract void eat();

}

class Cat extendsAnimal{

      void look() {

System.out.println("看家");

    }

    }      

 ………

Animal x=new Cat()

Cat  m=(Cat)x;  //向下转型

   m.eat() ;

   m.look();//子父类中的方法都可以使用

  

向下造型的作用是:为了使用子类中的特有方法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值