『壹』 java 如何調用com組件介面方法
書寫步驟 一般分為以下:
1、 編寫帶有native聲明的方法的java類
2、 使用javac命令編譯所編寫的java類
3、 使用javah ?jni java類名生成擴展名為h的頭文件
4、 使用C/C++實現本地方法
5、 將C/C++編寫的文件生成動態連接庫
『貳』 java類調用介面中的方法
你要理解介面的作用。介面提供了一種規范,就像現實中,USB介面是一種介面一樣,但是介面一定要有一個具體的實現,比如你的U盤,充電寶等等。相同的介面可以「保證」正常的調用,而不用知道實現這個介面的類具體是個什麼東西。當你把USB介面的設備插在U口上時,其實你並不太關心這些設備內部到底有什麼不同。
面向對象提出介面的概念,就是為了達到這個目的。如果有三個類,都實現了某一介面,它你的代碼調用它們的時候,你不用關心這三個類都有哪些不同,你只關心它們相同的部分,就是介面所「規定」的那些方法,它們肯定要實現的,但具體的實現一定是在各自的類定義里。所以你在看代碼的時候,要看介面方法的具體實現,要在實現介面的類里去看,而不是看介面本身。不知道這樣說,你清楚了沒有。
『叄』 java寫的介面怎麼調用
訪問形式如下例子:
//介面
publicinterfaceLoggerUtil{
//得到Logger,用於列印日誌
Loggerlogger=Logger.getLogger(LoggerUtil.class);
}
@RequestMapping("/delete.do")
publicStringdelete(Studentsstudents){
try{
stuService.delete(students);
}catch(Exceptione){
//介面的調用方式(直接調用)
LoggerUtil.logger.error(e.getMessage());
}
return"redirect:selectAll.do";
}
『肆』 JAVA調用介面
String sendPost(String jsonStr, String path)
throws IOException {
byte[] data = jsonStr.getBytes();
java.net.URL url = new java.net.URL(path);
java.net.HttpURLConnection conn =
(java.net.HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5 * 1000);// 設置連接超時時間為5秒
conn.setReadTimeout(20 * 1000);// 設置讀取超時時間為20秒
// 使用 URL 連接進行輸出,則將 DoOutput標志設置為 true
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
//conn.setRequestProperty("Content-Encoding","gzip");
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
OutputStream outStream = conn.getOutputStream();// 返回寫入到此連接的輸出流
outStream.write(data);
outStream.close();//關閉流
String msg = "";// 保存調用http服務後的響應信息
// 如果請求響應碼是200,則表示成功
if (conn.getResponseCode() == 200) {
// HTTP服務端返回的編碼是UTF-8,故必須設置為UTF-8,保持編碼統一,否則會出現中文亂碼
BufferedReader in = new BufferedReader(new InputStreamReader(
(InputStream) conn.getInputStream(), "UTF-8"));
msg = in.readLine();
in.close();
}
conn.disconnect();// 斷開連接
return msg;
}
『伍』 java 怎麼調用實現介面的方法
介面實現基本流程是1.定義一個介面,裡麵包含一些未實現的方法;2.定義一個類實現介面,實現介面中的所有未實現方法
『陸』 如何在java中調用api介面
需要導入對應的lib包,然後調用具體的介面以及方法
通過實現http協議進行post或者get請求具體api介面
『柒』 java 類怎麼調用介面實現類
直接寫成Person p = new Student();即可 這是為了讓買你代碼的人看不到內部代碼 怎麼實現的被隱藏了
1.Java的多態性 就是多種變現形式 介面跟實現類都能完成同樣的功能
2.隱藏內部代碼塊 人家只知道用p能調用Student的功能但是不知道你 Student類是怎麼實現的
3.解耦合性 Java的介面多繼承
『捌』 如何用Java調用別人API介面
java發一個http請求過去,帶上參數就可以了啊,跟我們在瀏覽器上訪問資源是一樣的 只是它返回的是json格式的數據而已
給你兩個方法吧:
public static String do_post(String url, List<NameValuePair> name_value_pair) throws IOException {
String body = "{}";
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpPost httpost = new HttpPost(url);
httpost.setEntity(new UrlEncodedFormEntity(name_value_pair, StandardCharsets.UTF_8));
HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
body = EntityUtils.toString(entity);
} finally {
httpclient.getConnectionManager().shutdown();
}
return body;
}
public static String do_get(String url) throws ClientProtocolException, IOException {
String body = "{}";
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
body = EntityUtils.toString(entity);
} finally {
httpclient.getConnectionManager().shutdown();
}
return body;
}
『玖』 java怎麼使用介面 java如何實現介面操作
介面是Java 實現多繼承的一種機制,一個類可以實現一個或多個介面。介面是一系列
方法的聲明,是一些方法特徵的集合,一個介面只有方法的特徵沒有方法的實現,因此這些
方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為。簡單的說介面不
是類,但是定義了一組對類的要求,實現介面的某些類要與介面一致。
在Java 中使用關鍵字interface 來定義介面。例如:
publicinterfaceCompare{
publicintcompare(ObjectotherObj);
}
Compare 介面定義了一種操作compare,該操作應當完成與另一個對象進行比較的功能。
它假定某個實現這一介面的類的對象x 在調用該方法時,例如x . compare(y),如果x 小於y,
返回負數,相等返回0,否則返回正數。
舉例
{
privateStringsId;//學號
//Constructor
10
publicStudent(){
this("","","");
}
publicStudent(Stringname,Stringid,StringsId){
super(name,id);
this.sId=sId;
}
publicvoidsayHello(){
super.sayHello();
System.out.println(".");
}
//get&setmethod
publicStringgetSId(){
returnthis.sId;}
publicvoidsetSId(StringsId){
this.sId=sId;}
//implementsCompareinterface
publicintcompare(ObjectotherObj){
Studentother=(Student)otherObj;
returnthis.sId.compareTo(other.sId);
}
}//endofclass
『拾』 java如何調用對方http介面 新手虛心求教
importjava.io.BufferedReader;
importjava.io.DataOutputStream;
importjava.io.InputStreamReader;
importjava.net.HttpURLConnection;
importjava.net.URL;
importjava.net.URLEncoder;
publicclassDemoTest1{
publicstaticfinalStringGET_URL="http://112.4.27.9/mall-back/if_user/store_list?storeId=32";
//publicstaticfinalStringPOST_URL="http://112.4.27.9/mall-back/if_user/store_list";
//妙兜測試介面
publicstaticfinalStringPOST_URL="http://121.40.204.191:8180/mdserver/service/installLock";
/**
*介面調用GET
*/
(){
try{
URLurl=newURL(GET_URL);//把字元串轉換為URL請求地址
HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();//打開連接
connection.connect();//連接會話
//獲取輸入流
BufferedReaderbr=newBufferedReader(newInputStreamReader(connection.getInputStream(),"UTF-8"));
Stringline;
StringBuildersb=newStringBuilder();
while((line=br.readLine())!=null){//循環讀取流
sb.append(line);
}
br.close();//關閉流
connection.disconnect();//斷開連接
System.out.println(sb.toString());
}catch(Exceptione){
e.printStackTrace();
System.out.println("失敗!");
}
}
/**
*介面調用POST
*/
(){
try{
URLurl=newURL(POST_URL);
//將url以open方法返回的urlConnection連接強轉為HttpURLConnection連接(標識一個url所引用的遠程對象連接)
HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();//此時cnnection只是為一個連接對象,待連接中
//設置連接輸出流為true,默認false(post請求是以流的方式隱式的傳遞參數)
connection.setDoOutput(true);
//設置連接輸入流為true
connection.setDoInput(true);
//設置請求方式為post
connection.setRequestMethod("POST");
//post請求緩存設為false
connection.setUseCaches(false);
//設置該HttpURLConnection實例是否自動執行重定向
connection.setInstanceFollowRedirects(true);
//設置請求頭裡面的各個屬性(以下為設置內容的類型,設置為經過urlEncoded編碼過的from參數)
//application/x-javascripttext/xml->xml數據application/x-javascript->json對象application/x-www-form-urlencoded->表單數據
//;charset=utf-8必須要,不然妙兜那邊會出現亂碼【★★★★★】
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
//建立連接(請求未開始,直到connection.getInputStream()方法調用時才發起,以上各個參數設置需在此方法之前進行)
connection.connect();
//創建輸入輸出流,用於往連接裡面輸出攜帶的參數,(輸出內容為?後面的內容)
DataOutputStreamdataout=newDataOutputStream(connection.getOutputStream());
Stringapp_key="app_key="+URLEncoder.encode("","utf-8");//已修改【改為錯誤數據,以免信息泄露】
Stringagt_num="&agt_num="+URLEncoder.encode("10111","utf-8");//已修改【改為錯誤數據,以免信息泄露】
Stringpid="&pid="+URLEncoder.encode("BLZXA150401111","utf-8");//已修改【改為錯誤數據,以免信息泄露】
Stringdepartid="&departid="+URLEncoder.encode("10007111","utf-8");//已修改【改為錯誤數據,以免信息泄露】
Stringinstall_lock_name="&install_lock_name="+URLEncoder.encode("南天大門","utf-8");
Stringinstall_address="&install_address="+URLEncoder.encode("北京育新","utf-8");
Stringinstall_gps="&install_gps="+URLEncoder.encode("116.350888,40.011001","utf-8");
Stringinstall_work="&install_work="+URLEncoder.encode("小李","utf-8");
Stringinstall_telete="&install_telete="+URLEncoder.encode("13000000000","utf-8");
Stringintall_comm="&intall_comm="+URLEncoder.encode("一切正常","utf-8");
//格式parm=aaa=111&bbb=222&ccc=333&ddd=444
Stringparm=app_key+agt_num+pid+departid+install_lock_name+install_address+install_gps+install_work+install_telete+intall_comm;
//將參數輸出到連接
dataout.writeBytes(parm);
//輸出完成後刷新並關閉流
dataout.flush();
dataout.close();//重要且易忽略步驟(關閉流,切記!)
//System.out.println(connection.getResponseCode());
//連接發起請求,處理伺服器響應(從連接獲取到輸入流並包裝為bufferedReader)
BufferedReaderbf=newBufferedReader(newInputStreamReader(connection.getInputStream(),"UTF-8"));
Stringline;
StringBuildersb=newStringBuilder();//用來存儲響應數據
//循環讀取流,若不到結尾處
while((line=bf.readLine())!=null){
//sb.append(bf.readLine());
sb.append(line).append(System.getProperty("line.separator"));
}
bf.close();//重要且易忽略步驟(關閉流,切記!)
connection.disconnect();//銷毀連接
System.out.println(sb.toString());
}catch(Exceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args){
//httpURLConectionGET();
httpURLConnectionPOST();
}
}