java接口作用:
1、利于代码的规范。这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率。
2、有利于对代码进行维护。可以一开始定义一个接口,把功能菜单放在接口里,然后定义类时实现这个接口,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。
3、保证代码的安全和严密。一个好的程序一定符合高内聚低耦合的特征,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。这样就比较安全、严密一些,这一思想一般在软件开发中较为常见。
作为一个编程初学者来说,API函数也许是一个时常耳闻却感觉有些神秘的东西。单看它的复杂语法,就足令人望而生畏,但是任何事物在我们深入了解它之前,总是会有这种感觉的。我们这篇API入门教程的目的,就是要把API函数的来龙去脉告诉大家,破除对API函数的畏惧,使它成为我们编程的好助手。 大家可能在许多书上看到过API的英文全称(Application Programming Interface),WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。对这个定义的理解,需要追溯到 *** 作系统的发展历史上,当WINDOWS *** 作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要。而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与 *** 作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的 *** 作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。 但是,那时的WINDOWS程序开发还是比较复杂的工作,程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS *** 作系统有深入的了解。然而随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。 这些优秀可视化编程环境 *** 作简单、界面友好(诸如VB、VC++、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。 实际上如果我们要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数,虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。 这也是API函数使用的场合,所以我们对待API函数不必刻来研究每一个函数的用法,那也是不现实的(能用的到的API函数有几千个呢)。正如某位大虾所说:API不要去学,在需要的时候去查API帮助就足够了。参考资料: http://www.iyuanma.com最近项目要用到一点翻译的功能,使用百度翻译api有使用上的限制,对我来说已经够用了接口限制
百度翻译API的使用频率默认限制为每个IP 1000次/小时。
如果该频率不能满足您的使用需求,请联系:translate-service@baidu.com。
项目中使用gson来解析返回的json数据
import java.util.List
import org.apache.commons.httpclient.HttpClient
import org.apache.commons.httpclient.NameValuePair
import org.apache.commons.httpclient.methods.GetMethod
import com.google.gson.Gson
/**
* @author Ericlin
*
* 2013-9-25
*/
public class Baidu {
private static String url ="http://openapi.baidu.com/public/2.0/bmt/translate"
private static String api_key ="****************"
public static void main(String[] args) throws Exception {
HttpClient client = new HttpClient()
GetMethod method = new GetMethod(url)
method.setQueryString(new NameValuePair[] {
new NameValuePair("from","zh"),
new NameValuePair("to","en"),
new NameValuePair("client_id", api_key),
// 多条内容用
分隔
new NameValuePair("q","【微语】任何一件无缝的天衣,都需要你一针一线认真缝合。
海天盛宴大野模,土包子眼中的白富美。") })
client.executeMethod(method)
String response = new String(method.getResponseBodyAsString())
System.out.println(response)
method.releaseConnection()
Gson gson = new Gson()
BaiduTrans bt = gson.fromJson(response, BaiduTrans.class)
for (TransResult tr : bt.getTrans_result()) {
System.out.println(tr.getDst())
}
}
class BaiduTrans {
private String from
private String to
private List<TransResult>trans_result
public String getFrom() {
return from
}
public void setFrom(String from) {
this.from = from
}
public String getTo() {
return to
}
public void setTo(String to) {
this.to = to
}
public List<TransResult>getTrans_result() {
return trans_result
}
public void setTrans_result(List<TransResult>trans_result) {
this.trans_result = trans_result
}
}
class TransResult {
public String getSrc() {
return src
}
public void setSrc(String src) {
this.src = src
}
public String getDst() {
return dst
}
public void setDst(String dst) {
this.dst = dst
}
private String src
private String dst
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)