java - 将 API 与其实现分离

标签 java

我无法弄清楚API及其实现(在java中)分离的含义。在下面的程序中,我是否将它们分开了?如果没有,请告诉我该怎么做。 另外,我只是想知道如何在简单的程序中遵循这种实践,而不是在项目中遵循它。

public class HideImplementation{  

   private String value;  

   private String someMethod(){  
   //some code  
   }  

   public void setValue(String value){  
   //some code  
   }  

   public String getValue(){  
   //some code  
   }  

   }  



class Client{  

   public static void main(String[] args){  
   HideImplementation obj = new HideImplementation();  
   obj.setValue("Java");  
   }  

   }  

最佳答案

API是使用代码和实现之间的契约,通常设计为接口(interface)。

public interface Contract {
  public void doIt();
}

public class ContractImpl implements Contract {
  public void doIt() {
    // do some hidden code
  }
}

public class Client {
  public static void main(String[] args) {
    Contract api = new ContractImpl();
    api.doIt();
  }
}

这样,从客户端的角度来看,实现是隐藏的(在界面后面)。

关于java - 将 API 与其实现分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19002937/

相关文章:

java - 带有注入(inject)服务的 REST 端点 - 在哪里抛出自定义 WebServiceException?

java - 为什么 java.awt.Image 不被视为 java.awt.Component?

Java 检测 Windows 上的不活动

java - AOSP 在 Android M _r46 标签上生成错误

JavaDoc 不生成带句号的语句

java - 反转 int 数组,但结果只完成了一半

java - Spring、JavaConfig、BeanDefinition 和空的 getBeanClassName

java - 创建 JavaServer Page Web 应用程序

java - EAR 文件的绝对路径

java - 使用正则表达式将一些数字分别分组