接口为什么只能有常量不能有变量?
背景:接口中只有常量,不能存在变量
代码:
public interface A{ int i=10; void f(); }
问题:以上代码中i默认是public static final。请问一下实现接口的过程中,是否与继承一样是在本对象的堆空间中开辟一块给父类实例域存放值,如果是这样子的话我认为接口中是可以存在变量的。接口规定方法名不规定实现,引申就是规定变量名不规定具体值,这样思考不对吗?
PS:请回答大神不要用现状/规定来反推一定要是这样,在下还是想好好理解一下OOP的设计思路,感谢