Java——接口

1.什么是接口

当一个类中的方法都是抽象方法时,那么这时我们就不再使用 abstract 关键字来进行修改,而是使用 interface 关键字来修饰,被 interface 关键字修饰的类就是接口

2.如何定义接口

public interface InterfaceDemo01 {
    //加
    public abstract int add(int a, int b);
    //减
    public abstract int subtract(int a, int b);
    //乘
    public abstract int multiply(int a, int b);
    //除
    public abstract int divide(int a, int b);
}

上述代码中都是使用 abstract 关键字修饰的抽象方法

同时接口中的所有方法都是公有的方法,因此 public 关键字也可以去掉

public interface InterfaceDemo01 {
    //加
    int add(int a, int b);
    //减
    int subtract(int a, int b);
    //乘
    int multiply(int a, int b);
    //除
    int divide(int a, int b);
}

3.如何使用接口

定义接口的目的是为了规范程序,即让子类拥有我们给定的标准,因此我们需要定义子类来实现接口中的所有方法

public class Calculate implements InterfaceDemo01{
    @Override
    public int add(int a, int b) {
        return a + b;
    }
    @Override
    public int subtract(int a, int b) {
        return a - b;
    }
    @Override
    public int multiply(int a, int b) {
        return a * b;
    }
    @Override
    public int divide(int a, int b) {
        return a / b;
    }
}

实现接口的关键字是 implements , 在这个关键字后面跟上接口名称

4.使用接口的好处

1.灵活性高

2.耦合度低

3.接口与接口之间可以继承,而且支持多继承

public interface InterA {
    void show();
}
public interface InterB {
    void show();
}
public interface InterC extends InterA, InterB {
    //void show();
}
public class InterCInstance implements InterC{
    @Override
    public void show() {
        System.out.println("show");
    }
    public static void main(String[] args) {
        new InterCInstance().show();
    }
}

之所以接口中支持多继承,原因在于接口中所有的方法都没有实现

5.接口的作用

接口是用来规范程序的,可以在接口中声明要实现的功能,而具体的实现我们放在子类中去完成

6.接口和抽象类的区别和联系

1.联系:

        当抽象类中所有方法都是抽象方法时,就相当于接口,即接口是抽象类中的特例

2.区别:

        (1)接口是使用 interface 关键字修饰,而抽象类是 abstract 关键字修饰

        (2)接口中的所有方法都是抽象方法,而抽象类中可以有非抽象方法

        (3)接口中定义变量都是静态变量,而抽象类中可以定义普通变量

        (4)接口是通过 implements 关键字来实现,而抽象类是通过 extends 关键字来继承

        (5)接口是支持多继承,而抽象类是不支持多继承

3.相同:

        (1)不管是接口还是抽象类,都必须要有子类

        (2)都是抽取了子类相同功能的代码

        (3)都可以起到程序的规范作用

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值