1)为什么接口中的属性都默认为static和final?Sun公司当初为什么要把java的接口设计发明成这样?【新手可忽略不影响继续学习】
答:马克-to-win:接口中如果可能定义非final的变量的话,而方法又都是abstract的,变量的修改就需要实现类来完成。马克-to-win,这样一来就有悖于Sun公司开始设计interface的初衷。interface就像一个合同,规定后来的类A和B, 都按照这个合同来做事,怎么能谁想怎么改就怎么改?另外,为什么必须为static呢?马克-to-win,这样,未来的子类的static方法也能访问到它,可以最大限度的发挥接口属性的功能。
更多请见:https://blog.youkuaiyun.com/qq_44639795/article/details/103110684
本文探讨了Java接口中属性默认为static和final的原因,解释了这种设计背后的逻辑,以及它如何促进接口作为合同的角色,允许未来的子类遵循相同的规范。
1万+

被折叠的 条评论
为什么被折叠?



