java中為什么接口中的屬性都默認為static和final
1)為什么接口中的屬性都默認為static和final?Sun公司當初為什么要把java的接口設計發(fā)明成這樣?【新手可忽略不影響繼續(xù)學習】馬克- to-win:馬克 java社區(qū):防盜版實名手機尾號: 73203。
答:馬克-to-win:接口中如果可能定義非final的變量的話,而方法又都是abstract的,變量的修改就需要實現(xiàn)類來完成。馬克-to-win,這樣一來就有悖于Sun 公司開始設計interface的初衷。interface就像一個合同,規(guī)定后來的類A和B,都按照這個合同來做事,怎么能誰想怎么改就怎么改?另外,為什么必須為static呢?馬克-to-win,這樣,未來的子類的static方法也能訪問到它,可以最大限度的發(fā)揮接口屬性的功能。