我们都知道接口中的全局变量必须是public static final的常量,我们可以通过接口名来调用它,也可以用该接口的实现类来调用该常量,但是eclipse中好像不赞成这样调用,不知道接口实现类调用接口的常量与直接用接口名调用该常量有何区别?为什么eclipse中不赞成这样使用?
因为接口是可以多实现 的,比如 A接口有个常量NUMBER = 1000,B接口也有常量NUMBER = 1000。类C实现这两接口,如果直接引用NUMBER是不行的。
再一个就是扩展性。
如:C实现接口A,引用接口A的NUMBER常量,之后为了某业务需要实现另外接口B,B接口也有NUMBER常量。这样的话还要来改C之前实现好的代码,如果用接口直接引用是不需要改代码的。
以上纯属个人看法。希望高手继续讨论。
没啥区别,静态常量都是属于类的!
我的观点是既然接口的全局变量既可以用接口名来调用,也可以是实现类来调用,但是,一个类的普通方法只能通过实现类的类名来调用,也是为了增加代码的可读性,一眼就看出接口的抽象方法,和一般的方法