静态常量使用class还是interface?
2017-03-15 00:00
141 查看
找了一会儿。结论大致如下。
interface比较方便,不需要去写static和final关键字,直接定义接口。
但是,因使用常量的地方在编译的时候会直接将这个interface常量值带入进去,如果后面更改了常量值重新编译了interface,则使用的地方需要重新编译才能拿到新的值。
class没有试过是不是也是这样。
不过从写法上来说两种都是没有问题的,看了下apache的一些源码,是用class定义常量,jdk一般用interface,个人觉得看个人喜好,代码风格一致即可。
interface比较方便,不需要去写static和final关键字,直接定义接口。
但是,因使用常量的地方在编译的时候会直接将这个interface常量值带入进去,如果后面更改了常量值重新编译了interface,则使用的地方需要重新编译才能拿到新的值。
class没有试过是不是也是这样。
不过从写法上来说两种都是没有问题的,看了下apache的一些源码,是用class定义常量,jdk一般用interface,个人觉得看个人喜好,代码风格一致即可。
相关文章推荐
- JAVA中的常量定义在class中还是interface中比较合理?
- JAVA中的常量定义在class中还是interface中比较合理?
- JAVA中的常量定义在class中还是interface中比较合理?
- PHPExcel导入导出 若在thinkPHP3.2中使用(无论实例还是静态调用(如new classname或classname::function)都必须加反斜杠,因3.2就命名空间,如/classname
- Java常量放在Class还是Interface?
- 关于 "java中常量定义在interface中好还是定义在class中好" 的一些思考
- java中常量定义在interface中好还是定义在class中
- 静态常量(static final)在class文件中是怎样的呢?
- 音乐播放器,注意静态常量的使用命名要有明确具体的含义(查看API,若想获得音乐本身自带的歌手名以及图片等信息,可查看MediaMetadataRetrieve来获得详细信息)
- 单元测试时候使用[ClassInitialize]会该方法必须是静态的公共方法,不返回值并且应采用一个TestContext类型的参数报错的解决办法
- 小心使用静态常量
- 实验3 this指针、常量和静态成员和友元函数的使用
- c#只读字段和常量的区别,以及静态构造函数的使用
- (8.13)客户端、服务器交互用json,同时去数据库检查,将0、1设置为静态常量(便于加注释它是干什么的,另外多建类,单例模式的使用)
- 类非静态成员的函数指针 的使用 Function pointer of a non-static member function of a class
- 用 interface 还是用 class ?
- maven 使用命令package或者compile报错 错误: 需要class, interface或enum
- 到底是使用abstract method还是interface在实现多态时
- 14章类型信息-之类型转换前先做检查--之使用类字面常量--类名.class--以及动态instanceof(isInstance方法)----递归计数(计算各个类的个数)
- error #2153: expression must have class type(低级错误:看是指针还是对象->和.的使用要正确)