JAVA初级(十六)接口的介绍,和基础使用

接口是一个抽象方法的集合,它不是类.


1,接口如何定义,interface关键字?接口里面有什么?
接口定义: 把我们平时定义类的那个class改成interface就行了。也就是用interface来修饰

在这里插入图片描述
接口就这么写,用interface修饰顶层名,它由一系列的抽象方法和static final变量组成.
2,接口如何用?
那么我们写了这么一个东西,那这些东西我们肯定要用的.
(1)接口的变量怎么用?
接口的变量默认是static final变量,且必须是这个变量.你写别的修饰符会报错.用static变量就是类名.名称了.但是这里我们换一个说法,是接口名.名称

public static void main(String[] args) {
        int num = WatchMovie.num;//接口中的变量就这么用
    }

(2)接口的方法怎么用?
接口的方法是抽象方法,抽象方法是什么?是一个存在但又不知道如何来实现的方法。因此想要使用它我们必须得继承它然后重写它。
但是接口不是类,我们直接使用extends会报错.所以JAVA中有一个关键字来让我们用类去"继承"接口,就是implements关键字

public class Test1 implements WatchMovie{//这样就相当于类中的继承了。
    @Override
    public void watch(String watchMethod) {
        System.out.println("躺着看");
    }
}

implements 接口,就相当于类中的继承了.当然这边就要换个说法—实现
实现了WatchMovie接口后这样我们就能重写watch()方法了
看电影的方式有很多种,我选择"躺着看".

到此,接口的方法就这么用.先用implements 关键字实现接口,然后重写它里面的抽象方法.也就是实现watch()方法.就可以了

3,什么时候用接口?
认识了接口,知道了接口怎么写,怎么用.那么接下来就要知道下什么时候用接口,
首先想想我们日常生活中的接口,比如usb接口。它的作用就是用来连接外设。但是每种外设的连接方法都不同,比如鼠标,手机.它们连接电脑后各自实现的功能是不一样的.但是它们最终都有一个目的就是要连接电脑完成需要的功能。

因此–>有很多个对象,它们都要完成一个目的或者有共同一个协议,但是完成目的的方式不一样.这时就把这个目的定义成一个接口让众多的对象去实现它。

类似的场景
1,比如动物吃饭,它们都要完成吃的目的,但是吃的方式不一样.把这个动物定义成一个接口,在写一个吃的抽象方法

public interface Animal{
	void eat(); //定义一个动物,然后里面的吃
}
public class Bird implements Animal{
	 @Override
    public void eat() {
    //如果换一种别的动物,方式就不一样了.但是目的一样
        System.out.println("鸟啄着吃");
    }
}

usb接口啊,连接数据库啊等等。思考一下周围其实有很多我们能够用来定义成接口的东西

4,接口需要注意的地方
(1)接口不是类,它是一个抽象方法的集合.
(2)接口它能够多继承.


public interface WatchTV {
    void watch();
    void watchTV();
}
public interface WatchWorld {
     void watch();
      void watchWorld();
}
public interface WatchMovie extends WatchTV,WatchWorld{
    void watch();
    void watchMethod();
}

接口多继承就这样.这个时候你去实现WatchMovie就要重写4个方法,同名的watch()一个,还有另外的三个不同名的
(3)类可以实现多个接口.类虽然不能多继承,但是可以通过实现多个接口来完成多继承的目的.–>不过和真的多继承还是有区别的。毕竟从接口上获得的东西都是抽象的,要你自己去实现

public class WatchMovie implements WatchTV,WatchWorld{}

多实现就这么写,用逗号隔开

5,拓展:JDK1.8开始接口出了抽象方法还能默认方法和静态方法

public interface WatchMovie{
    default void watch(){
        System.out.println("默认的看");
    }
    static void watchStatic(){
        System.out.println("静静的看");
    }
}

class  test implements WatchMovie{
     public static void main(String[] args) {
        WatchMovie.watchStatic();//静态方法直接接口名调用
        test t = new test();
        t.watch();//default方法用实现类的对象调用
     }
 }

总结:
1,接口是什么?
一群抽象方法的集合
2,接口怎么定义?怎么用?
interface,implements 关键字
3,什么时候用接口?
有一种共同目的或者协议,但实现过程不同时,用接口
4,接口的注意点?
多继承,多实现
5,jdk1.8新增的接口组成,默认方法,静态方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值