導航:首頁 > 編程語言 > java介面成員變數

java介面成員變數

發布時間:2022-06-05 11:06:37

java中介面(interface)中的成員變數為什麼public static final 的

1.介面必須要具體類實現才有意義,所以必須是public
2. 介面中的數據對所有實現類只有一份,所以是static
3.要使實現類為了向上轉型成功,所以必須是final的.這個舉例子很好理解.比如介面A,A有變數value.實現類A1,A2,可以向上轉型.假如代碼中有一句:
A a=null;
a=....(2)實際實現類
System.out.println(a.value);

利用向上轉型,可以得到介面a的值,在第2步中,我不關你是實現類A1,還是new A2(),通過轉型,我們可以得到正確的值.要是類中可以更改,我們得不到一個統一的值,介面也沒有了意義

⑵ java成員變數是什麼

成員變數:在類體的變數部分中定義的變數,也稱為屬性。

package ch05.sample; public class ClothesString id; //實例變數
private String colorType; //實例變數
private int size; //實例變數
private static String depart; //類變數
final String design="yangzi"; //常量


代碼中的實例變數、類變數、常量都屬於成員變數,這與變數的修飾符有關系,也就是上面代碼中的private、static、final等修飾符。

⑶ 在java編程中,能對介面中的成員變數進行修改么(能的話怎麼改)

乖乖£稀飯,看了樓上哥們給出那麼多關於 interface 的基本資料,你已經很清楚 interface 里不能定義變數了。
這個限制是非常合理的,因為 interface 的主要目的之一就是要讓我們只聲明一個類型所提供的服務(功能)但不提供那些服務的任何具體實現的細節。
變數這種提供數據存儲和讀取的機制是實現細節的一部分(所以只能在提供實現細節的 class 機制里出現)。

如果你選擇定義 StuInfor 這個介面然後在 Student 類中實現該介面,你應該以相應的一對 setXxx 和 setXxx 方法(所謂的 getter/setter 方法)代替 StuInfor 里的所有「變數」(憂傷成河有提到),就如下面的 StuInfor 那樣。
StuInfor 之後的 Student 類以典型的格式實現了 StuInfor。

interface StuInfor {
//static int no = 20052359;
void setID(long id);
long getID();

//int year = 2005;
void setYear(int year);
int getYear();

//String dep = "軟體工程";
void setDepartment(String dep);
String getDepartment();

public int age();
public void showInfor();
}

class Student implements StuInfor {
private longid;
private intyear;
private Stringdep;
private Stringname;

public Student(long id, String name, int year, String dep) {
setID(id);
setYear(year);
setDepartment(dep);
this.name = name;
}

public String getName(){ return name; }

public void setID(long id){ this.id = id; }
public long getID(){ return id; }

public void setYear(int year){ this.year = year; }
public int getYear(){ return year; }

public void setDepartment(String dep){ this.dep = dep; }
public String getDepartment(){ return dep; }

public int age(){ return "你的實現".length() * 3; }
public void showInfor(){ /* 你的實現 */ }
}

⑷ java介面中為何要定義成員變數

1、介面必須要具體類實現才有意義,所以必須是public
2.、介面中的數據對所有實現類只有一份,所以是static
3、要使實現類為了向上轉型成功,所以必須是final的,比如介面A,A有變數value.實現類A1,A2,可以向上轉型.假如代碼中有一句:
A a=null;
a=....(2)實際實現類
System.out.println(a.value);
利用向上轉型,可以得到介面a的值,在第2步中,不關是實現類A1,還是new A2(),通過轉型,可以得到正確的值.要是類中可以更改,得不到一個統一的值,介面也沒有了意義!

⑸ java介面中可以定義常量變數嗎

java介面中的類欄位全部為常量,定義的方法全部為抽象方法。

⑹ java中的成員變數可以是介面型的嗎

這樣確實沒錯,不過推薦不要這么用,介面一般都是用來被繼承來實現其規定的「標准」,這樣才符合面向對象的思想。(思想很重要的,你以後會知道,早點培養比較好)

⑺ java 問題。介面中的成員變數和其實現類的關系。

不是這樣的,介面的成員變數還是屬於介面的。用實現類可以調用介面成員變數是因為java的上溯機制,一個類調用它沒有的成員變數或方法時,java會自動到這個類的父類和介面里找,如果沒有,就繼續向上找,直到找到為止,如果最後找不到就會報錯。你用介面的實現類調用介面的成員變數時,因為這個類裡面沒有,所以java會去它的父類和介面裡面找,在介面里找到了,就用介面調用這個成員變數。也就是說,表面上好像是實現類調用了介面的成員變數,實際上還是介面本身調用的。這只是一種錯覺,你還可以創建一個這個類的對象,然後用對象名調用介面的成員變數,一樣可以調得出來,原因同上。這其實也可以說是java的一個漏洞,雖然方便,但很容易造成困惑。

⑻ Java介面中的成員變數隱含的修飾符是哪些

static和 final

static修飾的是靜態 變數,
final修飾的代表是常量

閱讀全文

與java介面成員變數相關的資料

熱點內容
生意不忙怎麼解壓 瀏覽:500
歡太健康app在哪裡下載 瀏覽:488
androidtools使用教程 瀏覽:971
十天突破雅思口語pdf劍9 瀏覽:295
李誕笑場pdf 瀏覽:265
自用紙巾做解壓筆 瀏覽:129
銀行流水解壓碼是多少 瀏覽:895
百度哪個app好用 瀏覽:316
115廣告聯盟源碼 瀏覽:494
聯通app簽到源碼 瀏覽:680
怎麼連接另一個伺服器的資料庫 瀏覽:742
貓盤洗白命令 瀏覽:844
168api源碼 瀏覽:967
不同地方的文件伺服器如何通信 瀏覽:599
自己電腦上搭建ftp伺服器地址 瀏覽:977
程序員的秋招秘籍 瀏覽:821
單片機國內外研究現狀 瀏覽:308
gta5如何進千人真實伺服器 瀏覽:996
電腦html壁紙源碼 瀏覽:726
c語言返回命令 瀏覽:933