91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

接口中定義變量必須為public static final的原因是什么

發布時間:2020-11-05 17:41:26 來源:億速云 閱讀:399 作者:Leah 欄目:編程語言

接口中定義變量必須為public static final的原因是什么?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

首先接口是一種高度抽象的"模版",,而接口中的屬性也就是’模版’的成員,就應當是所有實現"模版"的實現類的共有特性,所以它是public 的 ,是所有實現類共有的 .否則具體實現類不能使用該變量,則就沒有了定義的意義。 
static的原因是,假如可以是非static的話,因一個類可以繼承多個接口,出現重名的變量,如何區分呢?所以必須定義成static的,以便區分。 
例如一個類實現了兩個不同的接口,這兩個接口中有相同名字的變量定義,示例代碼如下:  
 

public class MultiInmpl  implements InTF, InTFOther { 
           /** 
          * @param args 
          */ 
           public static void main(String[] args) { 
           // TODO Auto-generated method stub 
           MultiInmpl m = new MultiInmpl(); 
           //如果實現的接口中有同名的變量,則不能引用 
          System.out.println( m.str );//str在2個接口中都有定義 
     } 
}  

其次,接口中如果可能定義非final的變量的話,而方法又都是abstract的,這就自相矛盾了,有可變成員變量但對應的方法卻無法操作這些變量,雖然可以直接修改這些靜態成員變量的值,但所有實現類對應的值都被修改了,這跟抽象類有何區別? 又接口是一種更高層面的抽象,是一種規范、功能定義的聲明,所有可變的東西都應該歸屬到實現類中,這樣接口才能起到標準化、規范化的作用。所以接口中的屬性必然是final的。

看完上述內容,你們掌握接口中定義變量必須為public static final的原因是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德清县| 长汀县| 涡阳县| 浦北县| 新乡县| 黎川县| 鄂伦春自治旗| 长汀县| 托克托县| 浮山县| 仪陇县| 德兴市| 东乡族自治县| 府谷县| 金门县| 昌江| 邵武市| 定结县| 阿克陶县| 乌拉特前旗| 临沂市| 遵化市| 合阳县| 绥中县| 乐陵市| 石林| 桐庐县| 沾益县| 利辛县| 东丽区| 临海市| 郎溪县| 长兴县| 彩票| 桃源县| 横峰县| 景谷| 西峡县| 双城市| 噶尔县| 襄垣县|