zoukankan      html  css  js  c++  java
  • java中的多重继承

    interface CanFight
    {
    void fight();
    }
    interface CanSwim
    {
    void swim();
    }
    interface CanFly
    {
    void fly();
    }
    class ActionCharacter
    {
    public void fight()
    {

    }
    }
    class Hero extends ActionCharacter

    implements CanFight,CanSwim,CanFly
    {
    public void swim()
    {

    }
    public void fly()
    {

    }
    }

    public class Adventure
    {
    public static void t(CanFight x)
    {
    x.fight();
    }
    public static void u(CanSwim x)
    {
    x.swim();
    }
    public static void v(CanFly x)
    {
    x.fly();
    }
    public static void w(ActionCharacter x)
    {
    x.fight();
    }
    public static void main(String[] args)
    {
    Hero h=new Hero();
    t(h);
    u(h);
    v(h);
    w(h);
    }

    }


    /*
    * 如果要从一个非接口的类继承,那么只能从一个类去继承。其余的基元素都必须是接口,需要将所有的接口名都置于implements关键字之后,用逗号将他们一一隔开,
    * 可以继承任意多个接口,并可以向上转型为每个接口,因为每个接口都是独立的类型。
    *
    *
    *
    *
    * 使用接口的核心原因是为了能够向上转型为多个基类型(以及由此而带来的灵活性),然而,使用接口的第二个原因,却是与使用抽象基类相同:防止客户端程序员创建该类的对象
    * 并确保这仅仅是建立一个接口。
    *
    * 那我们什么时候使用接口,什么时候使用抽象类呢?
    * 如果要创建不带任何方法的定义和成员变量的基类,那就应该选择接口,
    *
    *
    *
    *
    * -----摘自《java编程思想》
    *
    *
    *
    * */

  • 相关阅读:
    java 放射机制简介
    java 放射机制简介
    后海日记(1)
    后海日记(1)
    java 发邮件 代码
    java 发邮件 代码
    hadoop学习笔记411
    hadoop学习笔记411
    swoole_table
    用swoole简单实现MySQL连接池
  • 原文地址:https://www.cnblogs.com/fanzhengzheng/p/7492481.html
Copyright © 2011-2022 走看看