Java入门16——接口

我们今天来学习接口,和继承有点像,话不多说,开始正题~


一、接口

1.为什么要用接口

接口其实和继承很像,但是继承是 is-a 的关系,接口是 has-a 的关系,而且继承只能是一对一的关系,但是接口可以一对多,子类可以有多个接口,会方便许多,而且也体现出了多态性,更灵活

2.接口的语法——interface

首先我们来看一下,如何定义一个接口,示例如下:

public interface Animal {
    
}

这样,我们就定义出了一个名字为Animal的一个接口

3.接口使用——implements

我们知道接口既然是 has-a 的关系,我们就一定会在接口里面抽象出其它类里面的共有属性(方法),比如说动物都会呼吸,那么我们就可以这样写:

public interface Animal {
    void breathe();
}

那么为什么不写成具体的方法呢?答案是接口当中不能具体的实现一个方法,除非用default修饰 

接口中的方法默认是public和abstract(抽象)的,所以在定义方法时可以省略这些修饰符。接口中的变量默认是public 、static和final(常量)

那么我们再定义一个子类来接上这个接口~

public class Bird implements Animal{
    @Override
    public void breathe() {
        System.out.println("Bird");
    }
}

大家注意!这里必须要重写接口中的方法!!!如果不重写,就把当前类改为抽象类~

那么我们怎么调用这个方法呢?我们写一个test类来测试一下~

public class test {
    public static void main(String[] args) {
        Bird bird = new Bird();
        bird.breathe();
    }
}

这样我们就可以调用了

如果想继承多个接口,它的格式是这样的:

public class Bird implements Animal,另一个接口的名字{
    @Override
    public void breathe() {
        System.out.println("Bird");
    }

    重写另一个接口当中的方法~
}

二、继承和接口的对比

此处我们用一个表格给大家演示~

看完表格就比较容易区分继承和接口,下次用的时候也会有选择的用了


今天就到这里啦~

加油

上一篇:TCP 三次握手意义及为什么是三次握手


下一篇:深入了解Scratch:引导初学者开启编程之旅