首页 > 学院 > 开发设计 > 正文

【JAVA】接口(一)

2019-11-15 01:04:24
字体:
来源:转载
供稿:网友
java】接口(一)

一、接口的概念

  接口是一种更彻底的抽象。接口是从多个相似类中抽象出来的规范,接口不提供任何实现,接口体现的是规范和实现分离的设计哲学。

二、接口的定义

  接口定义不再使用class关键字,而是使用interface关键字。

  以下是定义接口的基本语法:

  【修饰符】interface 接口名 extends 父接口1,父接口2...

  {

    //常量定义

    //抽象方法定义

  }

  • 修饰符只能是public 或者省略,省略的话就是包访问级别,即只有在同一个包下才能访问此接口。
  • 一个接口可以有多个父类,但是只能继承,不能实现接口。
  • 接口里定义的是多个类共同的公共的行为规范,因此类中定义的Field、方法、内部类、枚举类都是public访问权限。
  • 接口中的方法只能是抽象方法,由于abstract不能和static共同来修饰一个方法,所以接口中的所有方法总是public abstract来修饰的,可以缺省不写,默认会加上的。
  • 接口中定义的Field是接口相关的,而且只能是常量,所以接口中定义的Field都是public static final 修饰的,可以缺省不写,系统会默认加上。
  • 接口中不能定义构造器和初始化块
  • 接口中可以定义内部类、枚举类、接口,默认都是使用public static修饰,而且只能是public static 修饰。

  下面我们看一下接口定义的例子:

  

package interfaceDemo;public interface OutPut {    //接口中定义的Field只能是常量    int MAX_CACHE_LINE = 50;        //这句话和上面那句话是等价的    //public static final int MAX_CACHE_LINE = 50;        //接口中定义的方法只能是抽象的,没有方法体    void out();        void getData(String msg);}

三、接口的继承

  接口和类不一样,它是支持多继承的。多个父接口跟在extends关键字后面,以逗号隔开。和类继承一样,接口继承一个父接口的时候,会获得父接口中定义的所有的抽象方法以及常量。

  

public interface InterfaceA {    int A = 1;    void PRint();}public interface InterfaceB {    int B = 2;    void say();}public interface InterfaceC extends InterfaceA, InterfaceB{    int C = 3;        public static class Test    {        public static void main(String[] args) {            System.out.println(InterfaceC.A);            System.out.println(InterfaceC.B);            System.out.println(InterfaceC.C);        }    }}

  输出结果为:

  1  2  3


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表