你的位置:首页 > Java教程

[Java教程]《浅谈——接口》


  经过上周的学习,让我对JAVA中的接口有了初步了解。下面就把我学到关于接口的一些写出来。

  我们需要学习接口的用法就需要先对抽象类有所了解,那么什么是抽象类呢?其实抽象类与普通类最大的区别就是:抽象类只可以声明定义,但是不可以对抽象类实例化;而对于普通类来说,我们都知道,它是可以实例化的,也就是可以生成一个对象来使用。而抽象类我们则需要用abstract关键字来修饰。同时,抽象方法是没有方法主体的,换句话说就是由abstract修饰的方法只有方法的声明,没有方法的实现。如:

  /**   * 普通类   * @author Administrator   *   */public class Practice1 {}  /**   * 抽象类   * @author Administrator   *   */public abstract class Practice{}

  抽象类与普通类也就是修饰的关键字不同而已。接下来就是抽象方法了,抽象方法也是用abstract关键字来修饰,抽象方法不能在普通类中定义,需要在抽象类中定义,而普通方法则可以在抽象类中定义,这样说可能有点不太清楚,那么,就请看看下面的例子:

//普通类public class Practice1 {  // 普通方法  public void Method1() {    int a = 0;    int b = 10;    int c = a + b;  }  // 抽象方法  public abstract void Method2();  /*   * 编译器报错:The abstract method method2 in type practice1 can only be defined   * by an abstract class 大概意思是实现抽象方法只能由一个抽象类定义   */}// 抽象类public abstract class Practice {  // 普通方法  public void Method1() {    int a = 0;    int b = 10;    int c = a + b;  }  // 抽象方法  public abstract void Method2();// 编译通过}

  对于接口与抽象类来说,接口可以将设计和实现分离,抽象类比接口更灵活,因为抽象类中可以有普通方法,而接口中只能有抽象方法,大家可以根据情况选择性的使用。只要我们清楚了抽象类,那么接口就好理解多了。首先我们可以把接口理解为抽象类的加强版,因为接口中的方法都是抽象方法,其次就是接口不能直接实现。接口的声明我们用interface关键字来修饰,而接口的实现我们则用implements关键字来修饰。

  接口的定义:访问修饰符 + interface + 接口名 + 方法主体    !大家还要需记住,接口中没有构造器,在接口中定义的成员变量全为共有静态常量,例如:

//接口的定义public interface Practice2{  //变量的声明  int a = 10 ;  //其实下面的才是完整的声明,不过两个的结果都一样,一般我们都写上面那一种,更简洁  public static final int a = 10 ;}

  接口的实现:implements + 接口名  或者  implements + 接口1,接口2,接口3...  !一个类可以有多个接口,例如:

//接口的实现public class Practice3 implements Practice2 {  /**   * 这里面写接口中方法的实现   */}

  最后,接口实现后就可以在其它类中使用了,希望可以对大家理解接口有所帮助,同时其中有误的希望大家可以提出,帮我改正下。