zoukankan      html  css  js  c++  java
  • 关于java中接口定义常量和类定义常量的区别

    /**
     * 
     * @author YZJ
     * @Description java中定义常量的最佳方法
     */
    public final class Contants{
    	/**
    	 * @Description 私有化构造方法
    	 */
    	private Contants(){};
    	
    	public  static final int contants1 = 1<<1;
    	
    	public  static final int contants2 = 1<<2;
    	
    	public  static final int contants3 = 1<<3;
    	
    }
    

      详情可参见

    http://hussion.iteye.com/blog/1322308

          以及

    http://stackoverflow.com/questions/2659593/what-is-the-use-of-interface-constants

    理由:理由SO上面写的很清楚,如果你实现了这个常量接口,那么它将暴露出所有的常量,不管你需不需要,这是不利于封装性的,还有一些序列化的操作,假设我在这个接口中只定义这些常量,调用的时候直接接口名.常量名来调用,这样不就没有这个问题了吗,这个想法在上面第一个地址中写道,当你通过反射动态的改变了接口中的常量时,从另一个类中是无法获取这种改变的,主要是因为当初java接口的(static final)的设计,所以,使用我代码中的方式定义常量,我觉得是最好的一种方式。

  • 相关阅读:
    Reverse Bits
    Number of 1 Bits
    Single Number,Single Number II
    Repeated DNA Sequences
    Fraction to Recurring Decimal
    Isomorphic Strings
    Valid Sudoku
    Count Primes
    Bulls and Cows
    高性能Web服务器Nginx的配置与部署研究(12)应用模块之Memcached做文件缓存时压缩引起的问题
  • 原文地址:https://www.cnblogs.com/yzjT-mac/p/6022976.html
Copyright © 2011-2022 走看看