接口多实现

/*
当一个抽象类中的方法都是抽象的时候,这时候可以将该抽象类用另一种形式
定义和表示,就是 接口 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() {

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值