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编程思想》
    *
    *
    *
    * */

  • 相关阅读:
    CI框架主题切换的功能
    centos7 编译安装 php7.4
    单用户登陆demo-后者挤到前者,类似QQ
    nginx 负载均衡的配置
    PHP计算每月几周,每周的开始结束日期
    Centos7 编译安装PHP7
    TP 3.2.3 接入PHPMailer
    外部js引用vue实例环境的方式
    linux常用命令
    计算机中的二级制
  • 原文地址:https://www.cnblogs.com/fanzhengzheng/p/7492481.html
Copyright © 2011-2022 走看看