大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 常見問題 Java深入學習的必須知識點之一

Java深入學習的必須知識點之一

更新時間:2020-08-24 16:27:25 來源:動力節點 瀏覽2258次

為什么接口要規定成員變量必須是public static final的呢?

答:

首先接口是一種高度抽象的”模版”,,而接口中的屬性也就是’模版’的成員,就應當是所有實現”模版”的實現類的共有特性,所以它是public static的,是所有實現類共有的.假如可以是非static的話,因一個類可以繼承多個接口,出現重名的變量,如何區分呢?

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

最后,接口只是對事物的屬性和行為更高層次的抽象。對修改關閉,對擴展(不同的實現implements)開放,接口是對開閉原則(Open-Closed Principle)的一種體現。

接口的所有成員都應該公開,所以是public(我覺得因為接口必須被他類實現,所以必須為public)

接口不能實例化,所以只有靜態成員:static(非static成員變量必須通過對象進行操作,而接口不能實例化,所以只能為static)

接口的成員一定應該是常量,所以是final。(這個正如上面所解釋的,如果接口的成員是變量,而一旦實現的類改變了該值,則所有實現類都被改變了,因為static)

interface在設計角度上通俗的定義standard(標注),從面向對象來說我們可以把它看做一個USB接口,所以:

既然是標準,那就應該向外開放,于是接口的所有成員都應該public

既然是標準,那就不能輕易改變,而且要滿足開放性,于是變量需要static(滿足開放性),final(滿足不可變性)

Java深入學習

以上就是動力節點java培訓機構的小編針對“Java深入學習的必須知識點之一”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲日本va中文字幕在线不卡 | 日韩欧美亚洲一区精选 | 国产高清不卡 | 成人欧美一区二区三区黑人妖 | 成年女人免费看一级人体片 | 一区二区三区四区视频在线 | 综合亚洲欧美 | 欧美精品视 | 精品麻豆 | 60岁妇女毛片 | 久久久久中文字幕 | 亚洲视频一区在线观看 | 2022久久国产精品免费热麻豆 | 综合久久99久久99播放 | 91在线精品亚洲一区二区 | 99久久久精品免费观看国产 | 天天综合网色 | 亚洲综合图片网 | 国产精品亚洲玖玖玖在线靠爱 | 一级毛片看一个 | 欧美第一页在线观看 | 日日夜夜操美女 | 国产亚洲精品九九久在线观看 | 国产高清在线a视频大全凹凸 | 精品999久久久久久中文字幕 | 国产婷婷一区二区三区 | 亚洲精品国产不卡在线观看 | 日日骑夜夜骑 | 日本美女一区 | 四虎影院免费看 | 国产一区亚洲二区三区 | 激情国产白嫩美女在线观看 | 国产精品久久久亚洲动漫 | 天天舔天天干天天操 | 欧美日本日韩 | 日韩精品一区二区三区在线观看 | 日本高清一级做a爱过程免费视频 | 男人猛桶女人下面视频国产 | 高清在线亚洲精品国产二区 | 国产日韩不卡免费精品视频 | 国产精品视频久久久久 |