您的位置:首页 > 编程语言 > Java开发

漫谈Java程序设计中的接口应用

2007-12-19 09:59 295 查看
Java语言提供了一种接口(interface)机制。这种接口机制使Java的面向对象编程变得更加灵活。我们可以用接口来定义一个类的表现形式,但接口不能包含任何实现。在《Thinking in Java》一书中,作者对接口有这样的描述:“接口(interface)比抽象(abstract)的概念更进了一步。你可以把一个接口看成是一个纯的抽象类。”我认为作者对接口的这一解释再准确不过了。

  理解并用好接口机制将帮助我们更好的掌握Java这种面向对象的编程语言。下面我们来讨论一下接口的使用规则以及相关的应用。

  一、接口的定义及实现

  定义接口和定义类相似,只是要把 class关键字换为 interface。定义方法时只需要方法名,返回类型和参数列表,不能有方法体。接口中可以定义字段,这些字段都被暗指为 static 和 final,因此应该根据需要先定好这些字段的值。例如:  

public interface Flyable {
  void fly();
  }
  public interface Talkable {
  void talk();
  }
  public interface Message {
  int MAX_SIZE = 4096;
  String getMessage();
  }

  上面定义的几个接口中,Flyable 和 Talkable 只定义了一个方法,而 Message 里除了方法外还有一个字段 MAX_SIZE。可以看出这些接口只定义了类的表现形式,而不包含任何实现,所以不能直接使用。要使用这些接口就需要有相应的类去实现它们。实现接口时应该先在类名后用 implements 关键字申明将要实现的接口,如果要实现多个接口,应该用逗号将它们隔开,然后一一实现这些接口中定义的方法。如下面的例子: 

 public class Parrot implements Flyable, Talkable {
  public void fly() {
  System.out.println("Flying like a parrot…");
  }
  public void talk() {
  System.out.println("Hello! I am a parrot!");
  }
  }
  public class TextMessage implements Message {
  String message;
  public void setMessage(String msg) {
  message = msg;
  if (message.length() > MAX_SIZE)
  message = message.substring(0, MAX_SIZE);
  }
  public String getMessage() {
  return message;
  }
  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: