4.java 接口

java接口#

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

其实接口就是一个协议,一个规范。用于解耦。

一般格式:

[可见度] interface 接口名称 [extends 其他的类名] {
    // 声明变量
    // 抽象方法
}

例子:

public interface IUserService {

    public User getUser();

    int FLAG = 1;
}

接口与类的区别:

  • 接口不能用于实例化对象。
  • 接口没有构造方法。
  • 接口中所有的方法必须是抽象方法。
  • 接口不能包含成员变量,除了 static 和 final 变量。
  • 接口不是被类继承了,而是要被类实现。
  • 接口支持多重继承。 public interface Hockey extends Sports, Event

重写接口中声明的方法时,需要注意以下规则:

  • 类在实现接口的方法时,不能抛出强制性异常,只能在接口中,或者继承接口的抽象类中抛出该强制性异常。
  • 类在重写方法时要保持一致的方法名,并且应该保持相同或者相兼容的返回值类型。
  • 如果实现接口的类是抽象类,那么就没必要实现该接口的方法。

标记接口

没有任何方法的接口被称为标记接口

作用:

(1)建立一个公共的父接口

可以使用一个标记接口来建立一组接口的父接口

(2)向一个类添加数据类型

实现标记接口的类不需要定义任何接口方法(因为标记接口根本就没有方法),但是该类通过多态性变成一个接口类型。

@interface

Java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。

参考:

1.https://www.zhihu.com/question/20111251 有个猫狗粮,店小二,老板的故事很好

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,931评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,937评论 0 62
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,403评论 19 139
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 4,930评论 0 5
  • 1谈情已老,谈死还早 2我是没出息,但你没教养 3余生还长,何必慌张 4何必重来,仍有遗憾 5活着就是好 6旧的衣...
    狮女柔心_Nicole陶阅读 1,508评论 1 5