java多态如何访问子类功能

今天讲一下多态如何访问子类功能。
先建几个类

  1. dongwu
  2. cat
  3. dog
  4. cz(操作类)
  5. ff(main方法)
 package duotaizhuanxing;

public class dongwu {
   public void chi(){
        System.out.println("吃东西");
    }

}

```java

重写方法

package duotaizhuanxing;

public class cat extends dongwu{
    @Override
    public void chi() {
        System.out.println("猫吃鱼");
    }
    public void zy(){
        System.out.println("抓老鼠");
    }
}
package duotaizhuanxing;

public class dog extends dongwu{
    @Override
    public void chi() {
        System.out.println("吃骨头");
    }
    public void zy(){
        System.out.println("看大门");
    }
}

操作

package duotaizhuanxing;

public class cz {
    public void chi(dongwu a){
        a.chi();
    }
}

执行

```javapackage duotaizhuanxing;

public class ff {
    public static void main(String[] args) {
        //1.执行类的内容
       cz z=new cz();
       cat c=new cat();
       z.chi(c);
       dog d=new dog();
       z.chi(d);

       //2.访问子类其他的方法
       dongwu a=new cat();
       //动物a是一只猫   a是动物
       cat w=(cat) a;
       //因为a是一只猫 所以可以强制转换成猫
       w.zy();
       w.chi();

       a=new dog();
       dog r=(dog) a;
       r.zy();
       r.chi();

//       a=new cat(); 只有新实际化动物接下来的程序才不会报错

//       cat p=(cat) a;  //由上面的可知  a已经被实例化 是一条狗了
//       p.chi();         //所以在转换的过程中  如果不新实际化
//       p.zy();           // 强制转换则会报错

        //3.生成一只猫调用其方法
       dongwu o=new cat();
       o.chi();
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值