當前位置:首頁 » 編程語言 » java介面的屬性

java介面的屬性

發布時間: 2022-08-15 21:47:41

『壹』 java:什麼是介面,它的主要作用是什麼

java介面是一系列方法的聲明,是一些方法特徵的集合,一個介面只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。

1、兩種含義:一,Java介面,Java語言中存在的結構,有特定的語法和結構;二,一個類所具有的方法的特徵集合,是一種邏輯上的抽象。前者叫做「Java介面」,後者叫做「介面」。

2、介面實現和類繼承的規則不同,為了數據的安全,繼承時一個類只有一個直接父類,也就是單繼承,但是一個類可以實現多個介面,介面彌補了類的不能多繼承缺點,繼承和介面的雙重設計既保持了類的數據安全也變相實現了多繼承。

3、Java介面本身沒有任何實現,因為Java介面不涉及表象,而只描述public行為,所以Java介面比Java抽象類更抽象化。但是介面不是類,不能使用new 運算符實例化一個介面。如 x=new comparable(......);//這個是錯誤來的。但是可以聲明介面變數Comparable x; //這是允許的。

4、Java介面的方法只能是抽象的和公開的,Java介面不能有構造器,Java介面可以有public、靜態的和final屬性。即介面中的屬性可以定義為 public static final int value=5;

5、這種分割體現在介面常常代表一個角色,它包裝與該角色相關的操作和屬性,而實現這個介面的類便是扮演這個角色的演員。一個角色由不同的演員來演,而不同的演員之間除了扮演一個共同的角色之外,並不要求其它的共同之處。

6、範例
定義介面格式:
[public]interface 介面名稱 [extends父介面名列表]
{
//靜態常量
[public] [static] [final] 數據類型變數名=常量值;
//抽象方法
[public] [abstract] [native] 返回值類型方法名(參數列表);
}
實現介面格式:
[修飾符] class 類名[extends 父類名] [implements 介面A,介面B,···]
{
類成員變數和成員方法;
為介面A中的所有方法編寫方法體,實現介面A;
為介面B中的所有方法編寫方法體,實現介面B;
}

『貳』 java的介面,類,屬性,方法各有哪些修飾符

1、 介面的修飾符只有:public
2、 類的修飾符分為:可訪問控制符和非訪問控制符兩種。
可訪問控制符是:公共類修飾符 public
非訪問控制符有:抽象類修飾符 abstract ;最終類修飾符 final
3、屬性的控制修飾符也分為:可訪問控制符和非訪問控制符兩類。
可訪問控制符有 4 種:公共訪問控制符: public ;私有訪問控制符: private ;保護訪問控制符: protected ;私有保護訪問控制符: private protected
非訪問控制符有 4 種:靜態域修飾符: static ;最終域修飾符: final ;易失 ( 共享 ) 域修飾符: volatile ;暫時性域修飾符: transient
4、方法的控制修飾符也分為:可訪問控制符和非訪問控制符兩類。
可訪問控制符有 4 種:公共訪問控制符: public ;私有訪問控制符: private ;保護訪問控制符: protected ;私有保護訪問控制符: private protected
非訪問控制符有 5 種:抽象方法控制符: abstract ;靜態方法控制符: static ;最終方法控制符: final ;本地方法控制符: native ;同步方法控制符: synchronized

『叄』 java中介面可以聲明屬性嗎

可以,但是必須用public final static修飾,或者默認這樣
這樣的屬性就是常量了
不過正常很少這樣做
希望對你有幫助

『肆』 JAVA中 介面的含義和作用

java介面是一系列方法的聲明,是一些方法特徵的集合,一個介面只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。

1、兩種含義:一,Java介面,Java語言中存在的結構,有特定的語法和結構;二,一個類所具有的方法的特徵集合,是一種邏輯上的抽象。前者叫做「Java介面」,後者叫做「介面」。

2、介面實現和類繼承的規則不同,為了數據的安全,繼承時一個類只有一個直接父類,也就是單繼承,但是一個類可以實現多個介面,介面彌補了類的不能多繼承缺點,繼承和介面的雙重設計既保持了類的數據安全也變相實現了多繼承。

3、Java介面本身沒有任何實現,因為Java介面不涉及表象,而只描述public行為,所以Java介面比Java抽象類更抽象化。但是介面不是類,不能使用new 運算符實例化一個介面。如 x=new comparable(......);//這個是錯誤來的。但是可以聲明介面變數Comparable x; //這是允許的。

4、Java介面的方法只能是抽象的和公開的,Java介面不能有構造器,Java介面可以有public、靜態的和final屬性。即介面中的屬性可以定義為 public static final int value=5;

5、這種分割體現在介面常常代表一個角色,它包裝與該角色相關的操作和屬性,而實現這個介面的類便是扮演這個角色的演員。一個角色由不同的演員來演,而不同的演員之間除了扮演一個共同的角色之外,並不要求其它的共同之處。

『伍』 如何在Java類中定義介面屬性並如何使用

interfaceIFoo{
finalintfvar=123;
staticintsvar=456;
}

classTestimplementsIFoo{
publicvoidmethod(){
PrintWriterpw=newPrintWriter(System.out,true);
pw.println("IFoo.fvar="+fvar);//使用介面的fvar變數
pw.println("IFoo.svar="+svar);//使用介面的svar變數
}
}

publicstaticvoidmain(String[]args)throwsException{
(newTest()).method();
}

『陸』 java中介面的屬性默認是什麼類型

java 介面中的常量默認是public static final 所以你不需要寫這寫東西.默認也是public static final

『柒』 java介面的屬性怎樣改變

可能不行
介面A中的屬性肯定是常量了即public static final 類型 變數 = 值;既然是final就不能二次賦值。
不過你可以用一個抽象類B繼承此介面A(並去除介面A中的price),在抽象類B中擴充此介面A,擴充一個price屬性(它不是final的)和一個abstract public void setPrice(Money money)方法。
如果想實現具體類C的話,只需繼承此抽象類B。
表示程序如下:
//第一個具體類C繼承抽象類B
public class C extends B{
public static void main(String[] args) {
C c = new C();
//這里應用不好的取值方法,但邏輯更清楚
System.out.println("C The orgin : " + c.i);
c.setter(9);
System.out.println("C The alter : " + c.i);
D d = new D();
System.out.println("D The orgin : " + d.i);
d.setter(99);
System.out.println("D The alter : " + d.i);
//最後驗證
System.out.println("C The after : " + c.i);
System.out.println("D The after : " + d.i);
}
}
//第二個具體類D繼承抽象類B
class D extends B{

}
//介面A
interface A{
void method1();
}
//抽象類B實現介面A,雖然裡面沒抽象方法但為以後迭代做鋪墊
abstract class B implements A{
public void method1(){};
public void setter(int i){
this.i = i;
}
public static int i = 1;
}
/*
* 程序輸出:
* C The orgin : 1
C The alter : 9
D The orgin : 9
D The alter : 99
C The after : 99
D The after : 99
*/

『捌』 介面的特性

Java介面,Java語言中存在的結構,有特定的語法和結構;2.一個類所具有的方法的特徵集合,是一種邏輯上的抽象。

前者叫做「Java介面」,後者叫做「介面」。

Java介面本身沒有任何實現,因為Java介面不涉及表象,而只描述public行為,所以Java介面比Java抽象類更抽象化。

Java介面的方法只能是抽象的和公開的,Java介面不能有構造器,Java介面可以有public,靜態的和final屬性。

二.為何用介面Java是一種單繼承的語言,若要給已有父類的具體類增加新功能,在OCP原則下,解決是給它的父類加父類,或者給它父類的父類加父類,直到移動到類等級結構的最頂端。這樣一來,對一個具體類的可插入性的設計,就變成了對整個等級結構中所有類的修改。

當有了介面,以上例子中,就不需要維護整個等級結構中的所有類了.

三.介面具胡可插入性:

在一個等級結構中的任何一個類都可以實現一個介面,這個介面會影響到此類的所有子類,但不會影響到此類的任何超類。此類將不得不實現這個介面所規定的方法,而其子類可以從此類自動繼承這些方法,當然也可以選擇置換掉所有的這些方法,或者其中的某一些方法,這時候,這些子類具有了可插入性(並且可以用這個介面類型裝載,傳遞實現了他的所有子類)。

介面提供了關聯以及方法調用上的可插入性,軟體系統的規模越大,生命周期越長,介面使得軟體系統的靈活性和可擴展性,可插入性方面得到保證。

正是有了介面,使得Java單繼承性有了新的擴展的可能(變向地實現多繼承);三.類型等級結構Java介面(以及抽象類)一般用來作為一個類型的等級結構的起點。

如果一個類已經有了一個主要的超類型,那麼通過實現一個介面,這個類可以擁有另一個次要的超類型,這種次要的超類型叫做混合類型。

『玖』 java中介面和抽象類以及它們的屬性方法都分別可以用什麼訪問修飾符

【Java介面修飾符是public abstract】

介面就是提供一種統一的」協議」,而介面中的屬性也屬於「協議」中的成員。它們是公共的,靜態的,最終的常量。相當於全局常量。抽象類是不「完全」的類,相當於是介面和具體類的一個中間層。即滿足介面的抽象,也滿足具體的實現。

介面中不可以定義變數即定義的變數前都要加上final修飾,使之成為常量(沒有final修飾的是變數,加上final修飾就會變成常量)。所以介面的屬性默認是public static final 常量,且必須賦初值。

【抽象類】

abstract抽象

1、修飾類時為抽象類,即為概念類,不能實例化;

2、修飾的方法為抽象方法,該方法沒有方法體,必須由子類實現,若沒有實現會報錯;

3、子類若為抽象類,則其中的抽象方法可不實現;

註:抽象類可以沒有抽象方法,但抽象方法所在的類必須為抽象類


『拾』 在java中,什麼是介面,介面的特點是什麼

Java介面(Interface),是一系列方法的聲明,是一些方法特徵的集合,一個介面只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。

一.介面含義:

1.Java介面,Java語言中存在的結構,有特定的語法和結構;2.一個類所具有的方法的特徵集合,是一種邏輯上的抽象。

前者叫做「Java介面」,後者叫做「介面」。

Java介面本身沒有任何實現,因為Java介面不涉及表象,而只描述public行為,所以Java介面比Java抽象類更抽象化。

Java介面的方法只能是抽象的和公開的,Java介面不能有構造器,Java介面可以有public,靜態的和final屬性。

二.為何用介面Java是一種單繼承的語言,若要給已有父類的具體類增加新功能,在OCP原則下,解決是給它的父類加父類,或者給它父類的父類加父類,直到移動到類等級結構的最頂端。這樣一來,對一個具體類的可插入性的設計,就變成了對整個等級結構中所有類的修改。

當有了介面,以上例子中,就不需要維護整個等級結構中的所有類了.

三.介面具胡可插入性:

在一個等級結構中的任何一個類都可以實現一個介面,這個介面會影響到此類的所有子類,但不會影響到此類的任何超類。此類將不得不實現這個介面所規定的方法,而其子類可以從此類自動繼承這些方法,當然也可以選擇置換掉所有的這些方法,或者其中的某一些方法,這時候,這些子類具有了可插入性(並且可以用這個介面類型裝載,傳遞實現了他的所有子類)。

介面提供了關聯以及方法調用上的可插入性,軟體系統的規模越大,生命周期越長,介面使得軟體系統的靈活性和可擴展性,可插入性方面得到保證。

正是有了介面,使得Java單繼承性有了新的擴展的可能(變向地實現多繼承);三.類型等級結構Java介面(以及抽象類)一般用來作為一個類型的等級結構的起點。

如果一個類已經有了一個主要的超類型,那麼通過實現一個介面,這個類可以擁有另一個次要的超類型,這種次要的超類型叫做混合類型。

四.Java介面分類

1、普通介面(含有方法定義)publicinterfaceActionListener{(ActionEventevent);}

2、標識介面(無任何方法和屬性定義)標識介面是沒有任何方法和屬性的介面.標識介面不對實現它的類有任何語義上的要求,它僅僅表明實現它的類屬於一個特定的類型。

publicinterfaceSerializable{};

3、常量介面是指用Java介面來聲明一些常量,然後由實現這個介面的類使用這些常量。

publicinterfaceAppConstants{publicstaticfinalDATA_SOURCE_NAME="test";publicstaticfinalUSER_NAME="test";publicstaticfinalPASSWORD="test";}

五.介面的特點

1、Java介面中的成員變數默認都是public,static,final類型的(都可省略),必須被顯示初始化,即介面中的成員變數為常量(大寫,單詞之間用"_"分隔)

2、Java介面中的方法默認都是public,abstract類型的(都可省略),沒有方法體,不能被實例化

3、Java介面中只能包含public,static,final類型的成員變數和public,abstract類型的成員方法

4、介面中沒有構造方法,不能被實例化5、一個介面不能實現(implements)另一個介面,但它可以繼承多個其它的介面

6、Java介面必須通過類來實現它的抽象方法

7、當類實現了某個Java介面時,它必須實現介面中的所有抽象方法,否則這個類必須聲明為抽象類

8、不允許創建介面的實例(實例化),但允許定義介面類型的引用變數,該引用變數引用實現了這個介面的類的實例

9、一個類只能繼承一個直接的父類,但可以實現多個介面,間接的實現了多繼承.

六.Java介面和Java抽象類區別面向對象設計的重點在於抽象。抽象類與介面都位於繼承樹的上層。

相同點:

1、代表系統的抽象層,當一個系統使用一顆繼承樹上的類時,應該盡量把引用變數聲明為繼承樹的上層抽象類型,這樣可以提高兩個系統之間的送耦合

2、都不能被實例化

3、都包含抽象方法,這些抽象方法用於描述系統能提供哪些服務,但不包含方法體不同點:

1、最大的一個區別,就在於Java抽象類可以提供某些方法的部分實現,而Java介面不可以;這大概就是Java抽象類唯一的優點吧,但這個優點非常有用。

可以向抽象類里加入一個新的具體方法,所有的子類都自動得到這個方法;但Java介面里加入一個新方法,所有實現這個介面的類就無法成功通過編譯,必需手動給每個實現了該介面的類加上該方法的實現;

2、抽象類的實現只能由子類給出,也即該實現只能在抽象類定義的繼承的等級結構中;所以抽象類作為類型定義工具的效能大打折扣。

Java介面,任何一個實現了一個Java介面所規定的方法的類都可以具有這個介面的類型,而一個類可以實現任意多個Java介面,從而這個類就有了多種類型。

以上看出:Java介面是定義混合類型的理想工具,混合類表明一個類不僅僅具有某個主類型的行為,而且具有其他的次要行為。

3、結合1、2點中抽象類和Java介面的各自優勢,具精典的設計模式就出來了:

聲明類型的工作仍然由Java介面承擔,但是同時給出一個Java抽象類,且實現了這個介面,而其他同屬於這個抽象類型的具體類可以選擇實現這個Java介面,也可以選擇繼承這個抽象類,也就是說在層次結構中,Java介面在最上面,然後緊跟著抽象類,這下兩個的最大優點都能發揮到極至了。這個模式就是「預設適配模式」。

在Java語言API中用了這種模式,而且全都遵循一定的命名規范:Abstract+介面名。

七.使用介面和抽象類的總體原則:

1、用介面作為系統與外界交互的窗口站在外界使用者(另一個系統)的角度,介面向使用者承諾系統能提供哪些服務,站在系統本身的角度,介面制定系統必須實現哪些服務,介面是系統中最高層次的抽象類型.通過介面交互可以提高兩個系統之間的送耦合系統A通過系統B進行交互,是指系統A訪問系統B時,把引用變數聲明為系統B中的介面類型,該引用變數引用系統B中介面的實現類的實例。

publicinterfaceB{}

publicclassCimplementsB{}

publicclassA{Ba=newC();}

2、Java介面本身必須非常穩定,Java介面一旦制定,就不允許隨遇更加,否則對外面使用者及系統本身造成影響3、用抽象類來定製系統中的擴展點,抽象類來完成部分實現,還要一些功能通過它的子類來實現

熱點內容
網易我的世界監獄風雲的伺服器 發布:2024-04-20 22:35:41 瀏覽:185
linux服務自動重啟 發布:2024-04-20 22:34:54 瀏覽:961
編譯器最後的結果 發布:2024-04-20 22:30:38 瀏覽:820
安裝linuxoracle11g 發布:2024-04-20 22:29:02 瀏覽:532
android設置權重 發布:2024-04-20 22:20:08 瀏覽:724
什麼手機安卓系統80 發布:2024-04-20 21:37:29 瀏覽:379
浙江萬里的伺服器地址 發布:2024-04-20 21:16:59 瀏覽:407
ndklinux下載 發布:2024-04-20 21:05:22 瀏覽:566
王者榮耀解壓資源包97 發布:2024-04-20 20:46:10 瀏覽:397
蘋果手機沒有密碼怎麼打開 發布:2024-04-20 20:45:25 瀏覽:93