JAVA(11)—接口

0x01 什么是接口

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口通常有全局常量和公共的抽象方法来组成,所以接口可以看成是一种特殊的抽象类。

0x02 为什么要用接口

  • 接口被用来描述一种抽象。
  • 因为Java不像C++一样支持多继承,所以Java可以通过实现接口来弥补这个局限。 接口也被用来实现解耦。
  • 接口被用来实现抽象,而抽象类也被用来实现抽象,为什么一定要用接口呢?接口和抽象类之间又有什么区别呢?原因是抽象类内部可能包含非final的变量,但是在接口中存在的变量一定是final,public,static的。

0x03 接口的实现

package moeh.www;

interface USB {
    public final int number = 10000;
    public void open();
    public void write();
}

class Mice implements USB{
    public void open()
    {
        System.out.println("鼠标打开了USB接口");
        System.out.println("鼠标打印的数值:"+number);
    }
    public void write()
    {
        System.out.println("鼠标写入了USB接口");
    }
}

class KeyBoard implements USB{
    public void open()
    {
        System.out.println("键盘打开了USB接口");
        System.out.println("键盘打印的数值:"+number);
    }

    public void write()
    {
        System.out.println("键盘写入了USB接口");
    }
}
public interface MoHe {
    public static void main(String[] args) {
        Mice mouse = new Mice();
        mouse.open();
        mouse.write();
        System.out.println("---------------------------------------------------");
        KeyBoard keyboard = new KeyBoard();
        keyboard.open();
        keyboard.write();
    }
}

结果展示
在这里插入图片描述

0x04 接口的特性

  • 接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。
  • 接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量(并且只能是 public,用private 修饰会报编译错误)。
  • 接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。

0x05 抽象类和接口的区别

  • 抽象类里面能对方法进行实现,接口不行
  • 抽象类的属性中能有多种属性,但是接口中属性的默认为public final
  • 抽象类不能多继承,接口可以
  • 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值