⑴ 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介面怎麼使用
java不允許多重繼承,也就是說一個子類只能有一個父類,
Son extends FatherA,FatherB 是錯誤的
為了彌補這點不足,java允許實現多個介面,
介面就是給出一些沒有內容的方法,類似於C++中的虛類。到具體用的時候再由用的方法自己定義內容,要注意的是想用介面必須實現介面的所
有方法。
其實是因為java不支持多繼承才產生了介面
介面是用來規范類的
它可以避免類在設計上的不一致
這在多人合作的開發中猶為重要
就比如介面中有A方法
那麼實現這個介面就必須實現A方法
這就形成了一種規范
也就是說,A繼承了B,但卻想使用C的一個方法,但又不能再繼承,所以就使用了C的介面。
Java介面和Java抽象類代表的就是抽象類型,就是我們需要提出的抽象層的具體表現。OOP面向對象的編程,如果要提高程序的復用率,增加程序的可維護性,可擴展性,就必須是面向介面的編程,面向抽象的編程,正確地使用介面、抽象類這些太有用的抽象類型做為你結構層次上的頂層。
Java介面和Java抽象類有太多相似的地方,又有太多特別的地方,究竟在什麼地方,才是它們的最佳位置呢?把它們比較一下,你就可以發現了。
1、Java介面和Java抽象類最大的一個區別,就在於Java抽象類可以提供某些方法的部分實現,而Java介面不可以,這大概就是Java抽象類唯一的優點吧,但這個優點非常有用。
如果向一個抽象類里加入一個新的具體方法時,那麼它所有的子類都一下子都得到了這個新方法,而Java介面做不到這一點,如果向一個Java介面里加入一個新方法,所有實現這個介面的類就無法成功通過編譯了,因為你必須讓每一個類都再實現這個方法才行,這顯然是Java介面的缺點。
2、一個抽象類的實現只能由這個抽象類的子類給出,也就是說,這個實現處在抽象類所定義出的繼承的等級結構中,而由於Java語言的單繼承性,所以抽象類作為類型定義工具的效能大打折扣。
在這一點上,Java介面的優勢就出來了,任何一個實現了一個Java介面所規定的方法的類都可以具有這個介面的類型,而一個類可以實現任意多個Java介面,從而這個類就有了多種類型。
3、從第2點不難看出,Java介面是定義混合類型的理想工具,混合類表明一個類不僅僅具有某個主類型的行為,而且具有其他的次要行為。
4、結合1、2點中抽象類和Java介面的各自優勢,具精典的設計模式就出來了:聲明類型的工作仍然由Java介面承擔,但是同時給出一個Java抽象類,且實現了這個介面,而其他同屬於這個抽象類型的具體類可以選擇實現這個Java介面,也可以選擇繼承這個抽象類,也就是說在層次結構中,Java介面在最上面,然後緊跟著抽象類,哈,這下兩個的最大優點都能發揮到極至了。這個模式就是「預設適配模式」。
在Java語言API中用了這種模式,而且全都遵循一定的命名規范:Abstract +介面名。
Java介面和Java抽象類的存在就是為了用於具體類的實現和繼承的,如果你准備寫一個具體類去繼承另一個具體類的話,那你的設計就有很大問題了。Java抽象類就是為了繼承而存在的,它的抽象方法就是為了強制子類必須去實現的。
使用Java介面和抽象Java類進行變數的類型聲明、參數是類型聲明、方法的返還類型說明,以及數據類型的轉換等。而不要用具體Java類進行變數的類型聲明、參數是類型聲明、方法的返還類型說明,以及數據類型的轉換等。
我想,如果你編的代碼裡面連一個介面和抽象類都沒有的話,也許我可以說你根本沒有用到任何設計模式,任何一個設計模式都是和抽象分不開的,而抽象與Java介面和抽象Java類又是分不開的。
理解抽象,理解Java介面和抽象Java類,我想就應該是真正開始用面向對象的思想去分析問題,解決問題了吧。
⑶ java中的介面有什麼作用
1、定義介面的重要性:在Java編程,abstract class 和interface是支持抽象類定義的兩種機制。正是由於這兩種機制的存在,才使得Java成為面向對象的編程語言。
2、定義介面有利於代碼的規范:對於一個大型項目而言,架構師往往會對一些主要的介面來進行定義,或者清理一些沒有必要的介面。這樣做的目的一方面是為了給開發人員一個清晰的指示,告訴他們哪些業務需要實現;同時也能防止由於開發人員隨意命名而導致的命名不清晰和代碼混亂,影響開發效率。
3、有利於對代碼進行維護:比如你要做一個畫板程序,其中裡面有一個面板類,主要負責繪畫功能,然後你就這樣定義了這個類。可是在不久將來,你突然發現現有的類已經不能夠滿足需要,然後你又要重新設計這個類,更糟糕是你可能要放棄這個類,那麼其他地方可能有引用他,這樣修改起來很麻煩。如果你一開始定義一個介面,把繪制功能放在介面里,然後定義類時實現這個介面,然後你只要用這個介面去引用實現它的類就行了,以後要換的話只不過是引用另一個類而已,這樣就達到維護、拓展的方便性。
4、保證代碼的安全和嚴密:一個好的程序一定符合高內聚低耦合的特徵,那麼實現低耦合,定義介面是一個很好的方法,能夠讓系統的功能較好地實現,而不涉及任何具體的實現細節。這樣就比較安全、嚴密一些,這一思想一般在軟體開發中較為常見。
⑷ java 介面到底怎麼用 到底應該怎麼實現
介面是很重要的面向對象方式,繼承介面的類不用全部實現定義的介面,可以這么說,我定義了好多介面,某個類可以這么實現這個介面,到另一個類你又想那麼實現介面,都是可以的。
或者定義完介面不想管他都可以,雖然很冗餘。介面不多了不影響操作。
比如:
定義了一個線性表介面。
public interface Ilist {
public void clear();
public boolean isEmpty();
public int length();
}
我想具體實現的話就建立以下實現類:
import .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;
}
⑸ java 介面怎麼用應該怎麼實現
java語言不支持一個類有多個直接的父類(多繼承),但可以實現(implements)多個介面,間接的實現了多繼承
用法public class test implements 介面名稱
當類實現了某個Java介面時,它必須實現介面中的所有抽象方法,否則這個類必須聲明為抽象的
比較抽象類與介面
1, 抽象類與介面都位於繼承樹的上層
相同點
1, 代表系統的抽象層,當一個系統使用一顆繼承樹上的類時,應該盡量把引用變數聲明為繼承樹的上層抽象類型,這樣可以提高兩個系統之間的送耦合
2, 都不能被實例化
3, 都包含抽象方法,這些抽象方法用於描述系統能提供哪些服務,但不提供具體的實現
不同點:
1, 在抽象類中可以為部分方法提供默認的實現,從而避免在子類中重復實現它們,這是抽象類的優勢,但這一優勢限制了多繼承,而介面中只能包含抽象方法.由於在抽象類中允許加入具體方法,因此擴展抽象類的功能,即向抽象類中添加具體方法,不會對它的子類造成影響,而對於介面,一旦介面被公布,就必須非常穩定,因為隨意在介面中添加抽象方法,會影響到所有的實現類,這些實現類要麼實現新增的抽象方法,要麼聲明為抽象類
2, 一個類只能繼承一個直接的父類,這個父類可能是抽象類,但一個類可以實現多個介面,這是介面的優勢,但這一優勢是以不允許為任何方法提供實現作為代價的三, 為什麼Java語言不允許多重繼承呢?當子類覆蓋父類的實例方法或隱藏父類的成員變數及靜態方法時,Java虛擬機採用不同的綁定規則,假如還允許一個類有多個直接的父類,那麼會使綁定規則更加復雜,
因此,為了簡化系統結構設計和動態綁定機制,Java語言禁止多重繼承.而介面中只有抽象方法,沒有實例變數和靜態方法,只有介面的實現類才會實現介面的抽象方法(介面中的抽象方法是通過類來實現的),因此,一個類即使有多個介面,也不會增加Java虛擬機進行動態綁定的復雜度.因為Java虛擬機永遠不會把方法與介面綁定,而只會把方法與它的實現類綁定.四, 使用介面和抽象類的總體原則:
1, 用介面作為系統與外界交互的窗口站在外界使用者(另一個系統)的角度,介面向使用者承諾系統能提供哪些服務,站在系統本身的角度,介面制定系統必須實現哪些服務,介面是系統中最高層次的抽象類型.通過介面交互可以提高兩個系統之間的送耦合系統A通過系統B進行交互,是指系統A訪問系統B時,把引用變數聲明為系統B中的介面類型,該引用變數引用系統B中介面的實現類的實例。
public interface B
{
}
public class C implements B
{
}
public class A
{
}
B a = new C();
2, Java介面本身必須非常穩定,Java介面一旦制定,就不允許隨遇更加,否則對外面使用者及系統本身造成影響
3, 用抽象類來定製系統中的擴展點
抽象類來完成部分實現,還要一些功能通過它的子類來實現
⑹ 如何去使用JAVA中的介面
java中是通過實現介面來使用介面的,實現介面用關鍵字implements實現,實現類必須要重寫介面類裡面的所有方法。
實例代碼如下所示:
介面類:
public interface Demo3 {
void a ();
}
實現類:
public class Demo4 implements Demo3{
public void a() {
//具體實現方法
}
}
介面中不寫實現方法,實現方法在介面的這個實現類中具體實現。
⑺ JAVA中介面具體該怎麼使用
首先是申明一個介面,關鍵字:interface,語法:
public interface MyInterface
{
....
}
在主體內部可以定義一些常量和介面的申明!例如:
public interface MyInterface
{
public static final int price=14;
public void dis(int param);
}
需要注意一點:介面中申明的所有方法必須是public或者是默認類型!
而且只要申明,不要去實現它!
如果要使用這個介面,那就要寫一個類去實現它,關鍵字:implements
public class MyInterfaceDemo implements MyInterface{
.......
}
⑻ java介面是什麼介面怎麼用
介面是一系列方法的聲明,是一些方法特徵的集合,一個介面只有方法的特徵沒有方法的實現,介面就是java提供的一個面向對象的機制(就好比抽象方法和常量值的定義的集合,申明方法和類的申明方法差不多.
作用:
(1)通過介面可以實現不相關類的相同行為,而不需要了解對象所對應的類。
(2)通過介面可以指明多個類需要實現的方法。
(3)通過介面可以了解對象的交互界面,而不需了解對象所對應的類。
⑼ 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中什麼是介面介面的作用是什麼
java介面:
1、Java語言中存在的結構,有特定的語法和結構。
2、Java語言中一個類所具有的方法的特徵集合,是一種邏輯上的抽象。
java介面作用:
1、利於代碼的規范
這樣做的目的一方面是為了給開發人員一個清晰的指示,告訴他們哪些業務需要實現;同時也能防止由於開發人員隨意命名而導致的命名不清晰和代碼混亂,影響開發效率。
2、有利於對代碼進行維護
可以一開始定義一個介面,把功能菜單放在介面里,然後定義類時實現這個介面,以後要換的話只不過是引用另一個類而已,這樣就達到維護、拓展的方便性。
3、保證代碼的安全和嚴密
一個好的程序一定符合高內聚低耦合的特徵,能夠讓系統的功能較好地實現,而不涉及任何具體的實現細節。這樣就比較安全、嚴密一些,這一思想一般在軟體開發中較為常見。
(10)java的介面怎麼用擴展閱讀:
關於java介面的使用規范:
1、介面中可以定義常量,不能定義變數,介面中的屬性都是全局靜態常量,介面中的常量必須在定義時指定初始值。
2、 介面中所有的方法都是抽象方法,介面中方法都會自動用public abstract 修飾,即介面中只有全局抽象方法。
3、 介面不能實例化,介面中不能有構造。
4、 介面之間可以通過extends實現繼承關系,一個介面可以繼承多個介面,但介面不能繼承類。
5、 介面的實現類必須實現介面的全部方法,否則必須定義為抽象類。
參考資料來源:網路:java介面