接口多实现

原创 2017年01月03日 15:56:36
/*
当一个抽象类中的方法都是抽象的时候,这时候可以将该抽象类用另一种形式
定义和表示,就是 接口 interface.
*/

//定义接口使用的关键字不是class,是interface
/*
对于接口当中常见的成员,而且这些成员都有固定的修饰符:
1.全局常量: public static final
2.抽象方法: public abstract
由此得出结论,接口中的成员都是公共的权限.
*/
interface Demo_2 {
    public static final int NUM = 4;

    abstract void show1();

    abstract void show2();
}

// 类与类之间是继承关系,类与接口之间是实现关系.
/*
 * 接口不可以实例化.只能由实现了接口的子类并且覆盖了接口的所有的抽象方法之后, 该子类才可以实例化,否则这个子类就是一个抽象类.
 */
class DemoImpl implements Demo_2 { // implements 实现关键字

    @Override
    public void show1() {

    }

    @Override
    public void show2() {

    }
}

/*
 * 在java中不直接支持多继承,因为会出现调用的不确定性. 所以java将多继承机制进行改良,在java中变成多实现.
 * 
 * 一个类可以实现多个接口.
 */

interface A {
    public void show();
}

interface B {
    public int add(int a, int b);
}

class Test implements A, B { // 多实现

    @Override
    public void show() {
        System.out.println("1");
    }

    @Override
    public int add(int a, int b) {
        return a+b+3;
    }
}

public class InterfaceDemo {

    public static void main(String[] args) {
        // DemoImpl d = new DemoImpl() ;
        // System.out.println(d.NUM);
        // System.out.println(DemoImpl.NUM);
        // System.out.println(Demo_2.NUM);

        Test t = new Test();
        t.show();
        System.out.println(t.add(3, 5));
    }

}



/*
类与类之间是继承关系,类与接口之间是实现关系.接口与接口之间是继承关系,
接口和接口之间不是实现关系.
*/
public class InterfaceDemo2 {

    public static void main(String[] args) {


    }

}

interface CC {
    public void show() ;
}

interface MM {
    public void method() ;
}

interface QQ extends CC,MM{ //接口与接口之间是继承关系,而且接口可以多继承.
    void function() ;
}

class WW implements QQ {

    @Override
    public void show() {

    }

    @Override
    public void method() {

    }

    @Override
    public void function() {

    }

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

C#实现多接口

 一个类可以从多个接口中派生出来,当一个类从定义了相同方法的两个或多个接口中派生时,你有两种选择:第一种是将两个接口方法引导到同一种方法实现中,第二种是提供不同的方法实现(利用显示实现)interfa...
  • nuaalfm
  • nuaalfm
  • 2007年08月06日 23:56
  • 6891

java 类implements多个接口含有相同名字函数

java 类不能多继承 class A extends B,C{}是不允许的但能实现多个接口 class A implements B,C{}是可以的,而多个接口中如果出现相同名字函数:interfa...
  • xx_star1204
  • xx_star1204
  • 2017年05月26日 20:42
  • 765

com学习(五)——实现多接口

从第五回开始到第七回,咱们用 ATL 写了一个简单的 COM 组件,之所以说简单,是因为在组件中,只实现了一个自定义(custom)的接口 IFun。当然如果想偷懒的话,我们可以把 200 个函数都加...
  • bestone0213
  • bestone0213
  • 2014年07月10日 14:25
  • 521

Spring 一个接口多个实现注入

Spring  一个接口多个实现注入: public interface  Car{}; public class BigCar implements Car{}; public cla...
  • c_c123
  • c_c123
  • 2016年06月20日 17:20
  • 4672

使用Spring特性实现接口多实现类的动态调用

正好用到。mark一下背景 org.springframework.beans及org.springframework.context这两个包是Spring IoC容器的基础, 其中重要的类有Be...
  • a718515028
  • a718515028
  • 2017年05月18日 09:26
  • 3408

Guice 学习(五)多接口的实现( Many Interface Implementation)

1、接口/* * Creation : 2015年6月30日 */ package com.guice.InterfaceManyImpl;public interface Service { ...
  • u010834071
  • u010834071
  • 2015年07月01日 10:51
  • 1297

java中接口可以实现多个接口吗?

转自:http://zhidao.baidu.com/link?url=ynEkm1J_9qIKgbEuNH6o-cSdGf4BSOdRsb0y-Xg1xIeQkUNADJscFgdEBcU1OAXL...
  • suyu_yuan
  • suyu_yuan
  • 2016年04月01日 14:35
  • 2214

ATL实现一个组件多个dual接口,multidisp

最近想自己写个按键精灵的插件,于是接触到这个问题: 怎么在一个组件里实现两个自动化接口。 主要针对的ATL,MFC貌似没这个问题,具体MFC是怎么实现的自己没有深究。 按键精灵的插件会在一...
  • jzkdl
  • jzkdl
  • 2014年11月29日 03:42
  • 1978

Objective C的可以多重继承么?可以实现多个接口么?

Objective C不能直接使用多重继承。cocoa中所有的类都是NSObject的子类,多重继承在这里是用protocol委托代理来实现的。 一个类可以实现多个接口。...
  • xiaoxiangzhu660810
  • xiaoxiangzhu660810
  • 2012年11月07日 09:23
  • 7427

JAVA接口——多实现

JAVA中不直接支持多继承,因为会出现调用的不确定性 所以JAVA将多继承机制进行改良,在JAVA中变成了多实现一个类可以实现多个借口 因为Test进行覆盖时,会同时覆盖A和B中的show( );...
  • July_c
  • July_c
  • 2017年09月29日 12:54
  • 93
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:接口多实现
举报原因:
原因补充:

(最多只允许输入30个字)