课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 常量引用的反模式
  • 常量引用的反模式

    发布:昆明Java培训      来源:达内新闻      时间:2015-12-03

  • 昆明java培训机构 有学员提出: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培训机构

    昆明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--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56