顶部468*60ad 顶部468*60ad

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

http://www.webjx.com/  2007-12-10 20:53:21  来源:网页教学网 站长整理

  二、用接口来定义一些全局变量

   因为接口内的字段都是static和final的,所以我们可以很方便的利用这一点来创建一些常量。例如:

public interface Constants {
String ROOT = "/root";
int MAX_COUNT = 200;
int MIN_COUNT = 100;
}

  在使用时可以直接用Constants.ROOT这样的形式来引用其中的常量。我们还可以用下面这种方法来创建初始值不确定的常量。

public interface RandomColor {
int red = Math.random() * 255;
int green = Math.random() * 255;
int blue = Math.random() * 255;
}

  其中red、green和blue的值会在第一次被访问时建立,然后保持不变。

  三、用接口来定义基本数据结构

   在设计一套软件系统的初期,我们可以用接口来对一些基本数据元素的特性来进行一些描述,再根据需要进行不同的实现。请大家看看下面这个例子:

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的抽象方法
}

  在这个例子中,我们定义了一个接口User和一个抽象类UserFactory。然后我们用XML技术实现这两个类。可以看出,我们只需要从用UserFactory的getUserFactory()就可以得到一个UserFactory的实例,而不用去考虑这个实例的具体实现方法。通过UserFactory的这个实例我们还可以直接得到User的实例,也不用去考具体的实现方法。

  如果我们决定用JDBC技术来实现User和UserFactory,我们只需要按上面的形式实现JDBCUser和JDBCUserFactory就行了。然后把UserFactory中的getUserFactory方法修改一下就可以改变了它们的实现方法。而我们已经写好的调用UserFactory和User的部分不需要做任何修改。

  这是用接口来定义数据结构的一个简单的例子,在实际应用中还有很多灵活的使用方法,大家需要在学习过程中不断的去体会。

文章评论

共有 0 位网友发表了评论 查看完整内容

推荐文章