当前位置: 备案域名出售 > 建站教程>正文

Java中的常量分组

由于interface的数据成员自动就是static和final的,因此interface是一种非常方便的,创建一组常量工具。这点同C和C++的enum很相似。注意Java编程风格是,用全部大写字母(用下划线分隔同一个标识符里的各个单词)来示,用常量进行初始化的static和final变量。

Interface的数据成员自动就是public的,因此就不必再注明了。你可以想对别的package那样,用importc08.*或者c08.Months把它引进来,这样就能在这个package的外面用Months.JANUARY之类的表达式来使用这些常量了。当然,你得到的是一个int,因此它没有像C++的enum那样的类型安全,但是这种很常见手法要比直接在程序里面用数字要好得多。这种方法通常被称为使用神奇数字,并且使得代码的维护变得非常困难。

Month是一个带private构造函数的final类,因此谁也不能继承它,或者创建它的实例。所有实例都是由类自己创建的,并且都是final static:JAN,FEB,MAR等待。这些对象也别用于month数组。这是一个供你遍历的Month对象的数组。你可以传一个数字给方法,以选取相应的对象。从main()可以看出,这么做类型是安全的。

« 上一篇下一篇 »