ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java中定义常量(Constant) 的几种方法

2021-03-18 19:55:24  阅读:229  来源: 互联网

标签:Java 常量 TUESDAY WEDNESDAY public static Constant final String


Java中定义常量(Constant) 的几种方法

浪尖 浪尖聊大数据
Java中定义常量(Constant) 的几种方法
为了方便大家交流Spark大数据,浪尖建了微信群,目前人数过多,只能通过浪尖或者在群里的朋友拉入群。纯技术交流,偶有吹水,但是打广告,不提醒,直接踢出。有兴趣加浪尖微信。
Java中定义常量(Constant) 的几种方法

常量使用目的

1,为什么要将常亮提取出来? 2,提取出来怎么定义,定义在interface中,还是class中?有什么区别?

1)常亮提取出来有利于代码阅读,而且下次再做这种判断不用手写或复制,直接通过常量类就能得到,能够避免有的地方是username,有的地方是name来判断同一个逻辑含义相同变量问题。不过我觉得提取出来并不会有利于代码性能提升,因为常量分配在内存的常亮池中,所以内存不会出现多个相同常量字符串。总的来说提取常量主要是为了避免魔法数字和提高代码可读性。

2)常亮定义在final的class中,防止被其它类继承和实例化。定义在interface中性质也是一样,static final属性。但是interface看起来就是会被继承的。

interface中定义常量

采用接口(Interface)的中变量默认为static final的特性。


public interface ConstantInterface {  
   String SUNDAY = "SUNDAY";  
   String MONDAY = "MONDAY";  
   String TUESDAY = "TUESDAY";  
   String WEDNESDAY = "WEDNESDAY";  
   String THURSDAY = "THURSDAY";  
   String FRIDAY = "FRIDAY";  
   String SATURDAY = "SATURDAY";  
}

Enum定义常量


enum ConstantEnum {  
       SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY  
   }

普通类中定义常量

采用了在普通类中使用static final修饰变量的方法。.


public class ConstantClassField {  
       public static final String SUNDAY = "SUNDAY";  
       public static final String MONDAY = "MONDAY";  
       public static final String TUESDAY = "TUESDAY";  
       public static final String WEDNESDAY = "WEDNESDAY";  
       public static final String THURSDAY = "THURSDAY";  
       public static final String FRIDAY = "FRIDAY";  
       public static final String SATURDAY = "SATURDAY";  
   }

也可以使用get方法


public class ConstantClassFunction {  
       private static final String SUNDAY = "SUNDAY";  
       private static final String MONDAY = "MONDAY";  
       private static final String TUESDAY = "TUESDAY";  
       private static final String WEDNESDAY = "WEDNESDAY";  
       private static final String THURSDAY = "THURSDAY";  
       private static final String FRIDAY = "FRIDAY";  
       private static final String SATURDAY = "SATURDAY";  
       public static String getSunday() {  
           return SUNDAY;  
       }  
       public static String getMonday() {  
           return MONDAY;  
       }  
       public static String getTuesday() {  
           return TUESDAY;  
       }  
       public static String getWednesday() {  
           return WEDNESDAY;  
       }  
       public static String getThursday() {  
           return THURSDAY;  
       }  
       public static String getFirday() {  
           return FRIDAY;  
       }  
       public static String getSaturday() {  
           return SATURDAY;  
       }  
   }

final class定义常量


public final class ConstantClassField {  
      public static final String SUNDAY = "SUNDAY";  
      public static final String MONDAY = "MONDAY";  
      public static final String TUESDAY = "TUESDAY";  
      public static final String WEDNESDAY = "WEDNESDAY";  
      public static final String THURSDAY = "THURSDAY";  
      public static final String FRIDAY = "FRIDAY";  
      public static final String SATURDAY = "SATURDAY";  
  }

推荐,使用final class定义,表面意思更清楚。虽然为了简单编码,浪尖采用的是interface。

标签:Java,常量,TUESDAY,WEDNESDAY,public,static,Constant,final,String
来源: https://blog.51cto.com/15127544/2664723

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有