Java中的接口

0x01 接口

在Java中,接口表示一种规范,要求实现者必须遵循这个规范,用来约束使用者该怎么做

必须要求实现者提供具体的实现方法
接口就是一个特殊的抽象类
就算不实用abstract关键字,他在编译的时候也会自动在class文件中,在方法名前面加上public abstract

0x02 接口的特点

  1. 接口是没有构造器的,接口是不能创建对象
  2. 接口当中定义变量,会被当作是全局静态常量
    String name = “pino”; ====>>> public static final String name = “pino”;
  3. 接口中定义的方法,都是公共的抽象方法
  4. 接口是可以继承的,并且是多继承,都好分割,但是类不能多继承
  5. 接口一般可以称为父类
  6. 接口也可以多实现,逗号分隔
  7. 实现接口的时候,子类要比接口中的类的方法权限大(一般都是public)
  8. 面向接口编程(赋值的时候,可以直接赋值给接口类型,多态的概念)

0x03 接口与抽象类的区别?

  • 相同:

    1. 都是被其他类实现或继承
    2. 都不能被实例化
    3. 都可以定义抽象方法,定义的抽象方法都必须得要覆盖
  • 不同点:

    1. 接口是没有构造器的,抽象类是有的
    2. 抽象类可以包含普通方法,但是接口当中只能有抽象方法,不能有普通方法
    3. 接口默认的成员变量是public static final变量,抽象类当中是默认权限
    4. 接口当中的默认方法是public abstract 方法名

0x04 面向接口编程

把实现类赋值给接口类型的变量

  • 为什么使用?
    多态的好处:屏蔽了不同类之间的差异,从而实现通用编程

本文标题:Java中的接口

文章作者:Pino-HD

发布时间:2018年05月30日 - 22:05

最后更新:2018年05月30日 - 22:05

原始链接:https://pino-hd.github.io/2018/05/30/Java中的接口/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!