南昌Java培训
达内南昌中心

0791-88193285

热门课程

达内java培训:接口或类实现常量引用

  • 时间:2015-09-22
  • 发布:南昌达内
  • 来源:达内培训


    达内java培训专家提出:java开发中,我们需要常量文件,来存储共享常量以供引用,设计应用中也是如此;这也就需要独立的文件来存储这些静态公共常量。这时,可以用接口或类来实现:

    1.使用接口的方法:

    package one;
public interface Constants {
String NAME="name1";
int MAX_VAL=25;
}

    package two;
public class Constants {
public static final String NAME="name1";
public static final int MAX_VAL=25;
}

    达内java技术专家推荐使用接口的方法,接口可以自动将成员变量设置为静态、不可变的、从而防止出现错误地添加新的常量的情况。优点在于使代码更加简单清晰。

    使用接口的方法意味着更少的字节,不需担心类提供的额外特征,因此加载更快、维护成本更低。

    接口的方式对保存常量很有帮助,但它是典型的反模式,所以对于后期扩展留下一个漏洞。

    2.使用类的方法

    java开发者在类中写通过接口对常量的引用。例如:

    packagename.Constant.CONSTANT_NAME

    为了清理该段代码并且实现该接口,无需写“packagename.Constants”,所有的常量可以直接访问。

    这种接口实现的方式,会导致所有的常量变成“契约”的一部分,因此增加了不必要的常量。后果就是动摇基础,造成严重混乱。

    达内java专家推荐一种方法,将类设置为final,使其不能扩展。并且将构造器设置为私有的,防止该类的实例化。对于某个特殊的常量在同一个类中经常使用,java开发者可以使用静态引入的方法。

    package three; 
//make the class non-extendable by adding final 增加final关键字来避免继承
public final class Constants {
//Hide the constructor 隐藏构造器
private Constants(){}
public static String NAME="name";
}

    静态引入:
    import static three.Constants.NAME;
public class UseConstants {
  public static void main(String[] args) {
      System.out.println("the value of constants is"+NAME);
  }
}

    达内java培训专家将此命名为接口常量反模式。


上一篇:java培训:抽象类和接口基本区别
下一篇:18个原则教你提升java开发效率

恭喜达内获得《产学合作协同育人项目合作伙伴奖》

达内Java大数据捷报频传,最高薪资15000元

中传学子参加达内Java培训,转身成为Java工程师月薪12.5K

本科生求职难参加达内Java培训,获11K高薪入职上海睿民

选择城市和中心
贵州省

广西省

海南省