码迷,mamicode.com
首页 > 编程语言 > 详细

【JAVA】接口(一)

时间:2015-08-08 01:13:18      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

一、接口的概念

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

二、接口的定义

  接口定义不再使用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

【JAVA】接口(一)

标签:

原文地址:http://www.cnblogs.com/sister/p/4712306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!