接口如何使用?
java怎麼使用接口 java如何實現接口操作
接口是Java 實現多繼承的一種機制,一個類可以實現一個或多個接口。接口是一系列
方法的聲明,是一些方法特徵的集合,一個接口只有方法的特徵沒有方法的實現,因此這些
方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為。簡單的說接口不
是類,但是定義了一組對類的要求,實現接口的某些類要與接口一致。
在Java 中使用關鍵字interface 來定義接口。例如:
public interface Compare {public int compare(Object otherObj);}Compare 接口定義了一種操作compare,該操作應當完成與另一個對象進行比較的功能。
它假定某個實現這一接口的類的對象x 在調用該方法時,例如x . compare(y),如果x 小於y,
返回負數,相等返回0,否則返回正數。
舉例
public class Student extends People implements Compare{private String sId; //學號//Constructor10public Student() {this("","","");}public Student(String name,String id,String sId){super(name,id);this.sId = sId;}public void sayHello(){super.sayHello();System.out.println("I am a student of department of computer science.");}//get & set methodpublic String getSId(){return this.sId;}public void setSId(String sId){this.sId = sId;}//implements Compare interfacepublic int compare(Object otherObj){Student other = (Student)otherObj;return this.sId.compareTo(other.sId);}}//end of class
javascript怎麼使用接口
在javascript中並沒有原生的創建或者實現接口的方式,或者判定一個類型是否實現了某個接口,我們只能利用js的靈活性的特點,模擬接口。
在javascript中實現接口有三種方式:註釋描述、屬性驗證、鴨子模型。
note:因為我看的是英文書,翻譯水平有限,不知道有些詞彙如何翻譯,大家只能領會精神了。
1. 註釋描述 (Describing Interfaces with Comments)
例子:
複製代碼 代碼如下:
/*
interface Composite {
function add(child);
function remove(child);
function getChild(index);
}
interface FormItem {
function save();
}
*/
var CompositeForm = function(id, method, action) { // implements Composite, FormItem
...
};
//Implement the Composite interface.
CompositeForm.prototype.add = function(child) {
...
};
CompositeForm.prototype.remove = function(child) {
...
};
CompositeForm.prototype.getChild = function(index) {
...
};
// Implement the FormItem interface.
CompositeForm.prototype.save = function() {
...
};
模擬其他面嚮對象語言,使用interface 和 implements關鍵字,但是需要將他們註釋起來,這樣就不會有語法錯誤。
這樣做的目的,只是為了告訴其他編程人員,這些類需要實現什麼方法,需要在編程的時候加以注意。但是沒有提供一種驗證方式,這些類是否正確實現了這些接口中的方法,這種方式就是一種文檔化的作法。
2. 屬性驗證(Emulating Interfaces with Attribute Checking)
例子:
複製代碼 代碼如下:
/* interface
Composite {
function add(child);
function remove(child);
function getChild(index);
}
interface FormItem {
function save();
}
*/
var CompositeForm = function(id, method, action) {
this.implementsInterfaces = ['Composite', 'FormItem'];
...
};
...
function addForm(formInstance) {
if(!implements(formInstance, 'Composite', 'FormItem')) {
throw new Error("Object does not ......
如何去使用JAVA中的接口
接口就是一些標準,把一些標準的制度寫成方法,例如一個汽車必須有四個輪子,就可以把製造汽車寫為一個接口,而製造四個輪子為接口必須方法,實現它的類就必須要實現製造四個輪子的方法。
語言、程序、框架的發展都是解耦、分離依賴性的過程,例如springIOC中,將接口的實現類都配置在xml中,如果更換實現類,只需修改xml文件,而不用去修改代碼,這樣就是降低依賴性。
這個東西只能自己慢慢體會,在一個可以多看看java三個特徵繼承、封裝、多態中的多態,理解了多態,接口就自然會用了。
javascript 接口怎麼用
假設你有一個類
function clazz {
this.OnSendWeChatMsgReport = function (userId,sessionId,msgseq,code,des,timeStamp){} this.OnUploadFileToMMSReport = function (strFileName,status,strUrl){} this.OnDownloadFileToMMSReport = function (strUrl,status,strFileName){} this.OnWorkStaticInfoReport = function (staticInfo){} this.OnQueueReport = function (ServiceReportInfo){}
}
在其它地方這樣調用
var obj = new clazz();
obj.OnSendWeCharMsgReport(userId, sessionId, msgseq, code, desc, timestamp);
,,,,
java 接口到底怎麼用 ~?到底應該怎麼實現?
接口是很重要的面向對象方式,繼承接口的類不用全部實現定義的接口,可以這麼說,我定義了好多接口,某個類可以這麼實現這個接口,到另一個類你又想那麼實現接口,都是可以的。
或者定義完接口不想管他都可以,雖然很冗餘。接口不多了不影響操作。
比如:
定義了一個線性表接口。
public interface Ilist {
public void clear();
public boolean isEmpty();
public int length();
}
我想具體實現的話就建立以下實現類:
import dao.Ilist;
public class SqList implements Ilist {
private Object[] listElem;// 線性表存儲空間
private int curLen;// 線性表的當前長度
// 順序表的構造函數,構造一個存儲空間容量為maxSize的線性表
public SqList(int maxSize)丹{
curLen = 0;
listElem = new Object[maxSize];
}
public void clear() {
curLen = 0;
}
public boolean isEmpty() {
return curLen == 0;// curLen==0時為true,!=0時為false;
}
public int length() {
return curLen;
}
}
希望能夠幫上你。
aux接口怎麼用
你講的是汽車上AUX接口吧,使用AUX音頻線連接即可,另一頭可以連接Mp3、Mp4等設備。然後在汽車CD上選擇AUX即可播放MP3和MP4上的音頻了。
接口的作用,為什麼要用接口
接口的作用:
接口的用途不但多,而且是非常必要。這就是為什麼我們為什麼老是提“面向接口編程”的概念。
你現在對其理解不深沒有關係,只是在實際中先用。等積累到一定程度就知道接口的好處了。
就拿你上面的例子說接口的用途之一,那就是“多態”。這個詞你應該不陌生吧,相信老師應該和你們說過吧
VideoCard vc=new Elsa();
//VideoCard vc=new Colourful();
vc.display();
這裡vc 可以new Elsa(); 可以new Colourful(); 可以實現不同的功能。換句話說一會可以拿它當錘子使用,一會
拿他當電鋸使用,前提是他們實現了同樣的接口。只要你接口的方法定義沒有變,針對外部而言 ,你的具體實現外部是不
感知的。所以,這就為你以後程序的擴展性提供基礎。“對修改封閉,對擴展開發”。
前面是接口的一個基本用途,規定子類的行為。更為廣闊的用途是接口為其他人使用者提供什麼用途。模塊和模塊之間的解耦
就看你的接口設計的是不是合理,是不是好用。這就是框架設計師。
為什麼要用接場 :用於處理多變的情況。
接口在實際開發過程中最大好處是,你可以按照設計,先把接口寫好,然後分配大夥幹活的時候,告訴a們去用寫好的接口去實現他們的具體功能,而告訴b們,去寫那些已經寫好但是沒有具體的代碼的接口,這樣可以提高工作效率。並且底層和應用也通過接口做了一個很明顯的分層。
C# 接口如何調用
接口是不能直接實例化的,只有類才能實例化。
而你在補充說明中提到的是依賴注入。這是一種將不變的(接口)與變化的(實現)隔離的一種方法。
為什麼要使用這麼麻煩的方法,而不直接使用aa at= new bb是因為而接口是不變的,而具體的實現類是會變化的(可能是增加功能可能使用一個cc類進行替代甚至整個實現架構發生變化)。所以使用依賴注入在客戶類代碼中只需要指示實例化一個aa接口的對象就可以了。而具體aa 對應的具體實現類則配置文件或是配置參數來統一指定即可。這樣當發生變化時只需要修改配置文件或是初始化參數就可以了。而核心代碼不需要發生改變。
大致是這樣的,你可以搜索ioc入門之類的瞭解更多。我只是瞭解過,但還沒有實際使用過。所以從你貼的代碼裡我也看不出具體是用的哪個框架。
webservice接口怎麼使用
webservice的調用,常用的大約有3種方式:
1、使用axis調用
2、使用xfire調用
3、使用cxf調用
項目中,採用axis進行調用,記錄如下,備忘:
ps教程:想當年的時候是用的xfire方式調用的,結果沒做記錄,現在已經完全記不得怎麼玩了。所以說要多寫博客啊 t_t
版本說明:
aixs版本:axis-bin-1_4.zip
java環境略
第一步:確保wsdl文件可用,文中為獲取到sendsmsservice.wsdl,當然url的也行。
第二步:執行生成客戶端代碼的腳本。腳本內容為:
set axis_lib=d:axis-1_4lib
set java_cmd=java -djava.ext.dirs=%axis_lib%
set output_path=.
set package=info.jyzh.wap.liaoning.push
%java_cmd% org.apache.axis.wsdl.wsdl2java sendsmsservice.wsdl -o%output_path% -p%package% -t
#查看wsdl2java的使用幫助#%java_cmd% org.apache.axis.wsdl.wsdl2java -help
ok,至此,客戶端代碼就生成出來了。還帶了一個單元測試哦。
實際工作中,碰到以下情況,客戶端不能直接連上webservice服務器,中間被強大的代理服務器擋住了。如下圖:
為此,修改生成的代碼,本次是在sendmmsserviceimplservicesoapbindingstub中作修改,如下:
static {
axisproperties.setproperty("http.proxyhost","88.88.88.88");
axisproperties.setproperty("http.proxyport","8080");
axisproperties.setproperty("http.proxyuser","asp教程yy");
axisproperties.setproperty("http.proxypassword","123456");
_operations = new org.apache.axis.description.operationdesc[1];
_initoperationdesc1();
}直接axis調用遠程的web service我覺得這種方法比較適合那些高手,他們能直接看懂xml格式的wsdl文件,我自己是看不懂的,尤其我不是專門搞這行的,即使一段時間看懂,後來也就忘記了。直接調用模式如下:import java.util.date;import java.text.dateformat;import org.apache.axis.client.call;import org.apache.axis.client.service;import javax.xml.namespace.qname;import java.l......
java裡的interface接口類怎麼用
Java不支持多重繼承,即一個類只能有一個父類
為了克服單繼承的缺點,Java使用了接口,一個類可以實現多個接口
接口是抽象方法和常量值定義的集合,是一種特殊的抽象類
接口中只包含常量和方法的定義,沒有變量和方法的實現
接口中的所有方法都是抽象的
接口中成員的訪問類型都是public
接口中的變量默認使用public static final標識(可以在定義的時候不加此修飾,系統默認)
接口通過使用關鍵字interface來聲明
格式:interface 接口的名字
接口體:
接口體中包含常量定義和方法定義兩部分
接口體中只進行方法的聲明,不允許提供方法的實現
方法的定義沒有方法體,且用分號結尾
public interface Runner
{
int ID=1;
void run();
}
接口允許被繼承,可以用extends繼承一個已有的接口
public interface Runner
{
int ID=1;
void run();
}
interface Animal extends Runner
{
void breathe();
}
通過使用implements實現接口中的所有方法
class Fish implements Animal
{
public void run()
{
System.out.println("Fish is swiming");
}
public void breathe()
{
System.out.println("Fish is bubbling");
}
}
如果只需要實現某接口中定義的部分方法,可以通過定義一個抽象類來實現
abstract class LandAnimal implements Animal
{
public void breathe()
{
System.out.println("LandAnimal is breathing");
}
一個類可以繼承一個父類的同時,實現一個或多個接口,extends關鍵字必須位於implements關鍵字之前
class Student extends Person implements Runner
{
……
public void run()
{
System.out.println("The student is Running");
}
……
}
在類中實現接口的方法時,方法的名字、返回類型、參數個數及類型必須與接口中的完全一致
接口中的方法默認是public 的,所有類在實現接口方法時,一定要用public來修飾
如果接口的方法的返回類型不是void,則在類中實現該接口方法時,方法體至少要有一個return語句
如果是void類型,類體除了兩個大括號以外,可以沒有任何語句
Java中提供的接口都在相應的包中,通過引入包可以使用Java提供的接口,也可以自己定義接口
一個Java源文件就是由類和接口組成的
接口可以增加很多類都需要實現的功能,不同的類可使用相同的接口,同一個類也可實現多個接口
接口只關心功能,並不關心功能的具體實現,使用相同接口的類不一定有繼承關係
public接口:接口聲明時,關鍵字interface前面加......