JAVA的接口

JAVA不允许一个子类直接拥有多个直接父类,但是允许一个类实现多个接口,从而实现多继承的特性。
定义方法:
[修饰词] interface 接口名 { 接口体 }

(接口是抽象方法的集合,过两天写一写抽象类…..其实应该先写抽象类)


1.接口特点


1)接口里的方法全是抽象的(abstract)

2)接口里的成员是固定的几种。

    1#定义变量: 有固定修饰符 public static final 
    2#定义方法: 方法也有固定修饰符 public abstract
    从这可以看出,接口中的成员是公共的。(在实际操作的时候,自己不写这些修饰符编译器会自动给加上)

举例:

interface Demo{
    //注意这的num大写
    public static final int NUM = 3;
    public abstract void run();
}

也可以写成这样的

interface Demo{
    int NUM = 3;
    void run();
}

3)接口不能创建对象

4)子类在使用时,必须覆盖接口的所有方法后,才能实例化。否则子类是抽象类


2.如何使用接口


在子类中用 关键字 implements 使类与接口产生关系。(类与类的关系是继承,类与接口之间的关系是实现)
定义子类去覆盖接口中的方法

举例说:

interface Demo{
    int NUM = 3;
    public void run();
}
class DemoImpl implements Demo{
    void run(){
        System.out.println("Demo run");
    }
}

3.接口实现多继承


在JAVA继承的文章那个中说过的多继承,在这写的详细一点

举例:

interface A{
    public void show1();
}
interface B{
    public void show2();
}
//接口多实现
class C implements A,B{
    //重写接口中的方法
    public void show1(){}
    public void show2(){}
}

接口中的功能(show)是没有方法体的,需要子类来明确方法。


4.为什么用接口


这个问题我想不明白,然后去看了看知乎。

知乎接口作用

里面David的答案很详细,看了很受用。赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值