Java: 接口

接口:

  在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。
接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。
  Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new 运算符实例化一个接口。如 x=new comparable(......);//这个是错误来的。但是可以声明接口变量Comparable x; //这是允许的。
  Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public、静态的和final属性。即接口中的属性可以定义为 public static final int value=5;
接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。(引用自百度百科
 
初期理解:可以理解是一个特殊的抽象类
  当抽象类中的方法都是抽象的,该类可以通过接口的形式来表示。
  关键字:interface,用于定义接口

接口定义的格式特点:
  1,接口常见定义:常量,抽象方法
  2,接口的成员都有固定的修饰符,如果接口中没有写这些修饰符,系统会自动加上
    常量:public static final
    方法:public abstract
  记住:街口中的成员都是public的

因为有抽象方法,接口是不可以创建对象的,需要被子类实现,子类对接口的抽象方法全都覆盖后子类才可以实例化,否则子类也是一个抽象类。

接口可以被类多实现——一个类可以同时实现多个接口,也是对多继承不支持的转换形式。

一个类可以只可以继承一个类,但可以实现多个接口,这样可以扩展类的功能;

但接口和接口之间可以多继承。

接口的特点:

  1.接口是对外暴露的规则

  2.接口是程序的功能扩展

  3.接口可以用来多实现

  4.类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口

  5.接口与接口之间可以有继承关系,且可以多继承

 1 interface Inter
 2 {
 3     public static final double PAI = 3.14;
 4     public abstract void show();
 5 }
 6 
 7 interface Inter2
 8 {
 9     
10     public abstract void method();
11 }
12 
13 class InterInstance implements Inter,Inter2
14 {
15     public void show()
16     {
17 
18     }
19     public void method()
20     {
21 
22     }
23 }
24 
25 class InterfaceDemo
26 {
27     public static void main(String[] args)
28     {
29         InterInstance ii = new InterInstance();
30         System.out.println(ii.PAI);
31         System.out.println(Inter.PAI);
32         System.out.println(InterInstance.PAI);
33     }
34 }

 

posted @ 2015-02-26 21:20  司英成·Owen  阅读(196)  评论(0编辑  收藏  举报