java语言提供了一种接口(interface)机制。这种接口机制使Java的面向对象编程变得更加灵活。我们可以用接口来定义一个类的表现形式,但接口不能包含任何实现。在《Thinking in Java》一书中,作者对接口有这样的描述:“接口(interface)比抽象(abstract)的概念更进了一步。你可以把一个接口看成是一个纯的抽象类。”我认为作者对接口的这一解释再准确不过了。
public interface User { int getAge(); String getName(); String getPassWord(); }
public class xmlUser implements User { // 这里用XML技术实现User接口中的方法 public int getAge() { ... } public String getName() { ... } public String getPassword() { ... } }
public abstract class UserFactory { public static UserFactory getUserFactory() { return new XMLUserFactory(); }
public User getUser(String name); public User getAdmin(); public User createUser(String name, String password, int age); public void addUser(User user); public void delUser(User user); }
public class XMLUserFactory extends UserFactory { // 这里用XML技术实现的UserFactory的抽象方法 }