Java常量定义方法汇总

时间:2017-06-13     来源:华清远见JAVA学院

实际工作开发中,我们经常会使用到常量。那么Java常量如何定义呢?Java常量定义的规范是什么?定义Java常量又有哪些注意事项呢?今天华清Java学院小编整理了一份Java常量定义方法汇总,和大家一起来讨论下这些问题。

Java常量定义方法汇总

Java常量定义规范

所有单词的字母都是大写,如果有多个单词,那么使用下划线连接即可。

Java常量定义方法一:采用接口(Interface)中变量默认为static final的特性

interface ConstantInterface {

String SUNDAY = "SUNDAY";

String MONDAY = "MONDAY";

String TUESDAY = "TUESDAY";

String WEDNESDAY = "WEDNESDAY";

String THURSDAY = "THURSDAY";

String FRIDAY = "FRIDAY";

String SATURDAY = "SATURDAY";

}

Java常量定义方法二:采用了Java 5.0中引入的Enum类型

enum ConstantEnum {

SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY

}

Java常量定义方法三:采用了在普通类中使用static 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";

}

Java常量定义方法四:类似方法三,但是通过函数来获取常量。

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;

}}

public class TestConstant {

static final String day = "saturday";

public static void main(String[] args) {

System.out.println("Is today Saturday?");

System.out.println(day.equalsIgnoreCase(ConstantInterface.SATURDAY));

System.out.println(day.equalsIgnoreCase(ConstantEnum.SATURDAY.name()));

System.out.println(day.equalsIgnoreCase(ConstantClassField.SATURDAY));

System.out.println(day.equalsIgnoreCase(ConstantClassFunction

.getSaturday()));

}}

首先定义全局变量似乎有违Java的面向对象的封装特性,增加的耦合。所以佳的方法是避免定义全局变量。如果是参数等,可以写入配置文件。如果实 在是必须的,方法二是为推荐的。方法三是大家都能想到的,非常的直观。方法一和方法三本质上一样。方法四提供了灵活性,具体参考引用。

Java常量定义的基本注意事项

在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来进行Java常量定义。当常量被设定后,一般情况下就不允许再进行更改。在定义常量时,需要注意如下内容:

一是Java常量定义的时候,就需要对常量进行初始化。

也就是说,必须要在常量声明时对其进行初始化。跟局部变量或者成员变量不同。当在常量定义的时候初始化过后,在应用程序中就无法再次对这个常量进行赋值。如果强行赋值的话,数据库会跳出错误信息,并拒绝接受这一个新的值。

二是final关键字使用的范围。

这个final关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。如数组就是一个对象引用。为此可以使用final关键字来定义一个常量的数组。这就是Java语言中一个很大的特色。一旦一个数组对象被final关键字设置为常量数组之后,它只能够恒定的指向一个数组对象,无法将其改变指向另外一个对象,也无法更改数组(有序数组的插入方法可使用的二分查找算法)中的值。

三是需要注意常量的命名规则。

不同的语言,在定义变量或者常量的时候,都有自己一套编码规则。这主要是为了提高代码的共享程度与提高代码的易读性。在Java常量定义的时候,也有自己的一套规则。如在给常量取名的时候,一般都用大写字符。在Java语言中,大小写字符是敏感的。之所以采用大写字符,主要是跟变量进行区分。虽然说给常量取名时采用小写字符,也不会有语法上的错误。但是,为了在编写代码时能够一目了然的判断变量与常量,好还是能够将常量设置为大写字符。另外,在常量中,往往通过下划线来分隔不同的字符。而不想对象名或者类名那样,通过首字符大写的方式来进行分隔。这些规则虽然不是强制性的规则,但是为了提高代码友好性,方便开发团队中的其他成员阅读,这些规则还是需要遵守的。

总之,Java开发人员需要注意,被定义为final的常量需要采用大写字母命名,并且中间好使用下划线作为分隔符来进行连接多个单词。在定义final的数据不论是常量、对象引用还是数组,在主函数中都不可以改变。否则的话,会被编辑器拒绝并提示错误信息。

通过以上对Java常量定义知识的梳理,相信大家对Java常量如何定义已经十分清楚了。

想了解更多Java常量知识的人,又看了

java常量定义方法_Java常量定义方法汇总相关推荐

  1. java 定义方法_java如何定义方法

    所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块.(推荐:java视频教程) 一般情况下,定义一个方法的语法是:[修饰符] 返回值类型 方法名称(参数类型 参数名1,参数类型 参数名2, ...

  2. java中math的方法_Java Math所有方法

    首页 > 基础教程 > 常用类 > 常用 Number & Math类 Java Math所有方法 Math类包含完成基本数学函数所需的方法.这些方法分为三类:三角函数方法. ...

  3. 怎么让java技术变强_java中的方法

    方法是什么? 方法是可以完成某个特定的功能的并且可以被重复利用的代码片段,方法的出现,让代码有了很强大复用性 方法定义: [修饰符列表] 返回值类型 方法名(形式参数列表){ 方法体; } 形式参数列 ...

  4. java中方法_java中的方法

    java中的方法 java作为一种面向对象的语言,具有以下特性:继承.封装.多态.抽象.类.对象.实例.方法和重载. 今天讲解的是java方法的概念. 什么是方法? java方法是语句的集合,他们在一 ...

  5. java反射方法_java反射之方法反射的基本操作方法

    本文接上文"java反射之获取类的信息方法(推荐)",利用反射(invoke)来获取一个类中的方法来执行. 1.定义一个类,包含三个名称相同,参数不同的方法 class A{ pu ...

  6. java的lookup方法_Java ObjectStreamClass lookup()方法与示例

    ObjectStreamClass类lookup()方法lookup()方法在java.io包中可用. lookup()方法用于查找可以序列化的类的描述符. lookup()方法是静态方法,可以使用类 ...

  7. java多态讲解例子_Java多态性定义与用法实例详解

    本文实例讲述了Java多态性定义与用法.分享给大家供大家参考,具体如下: 多态性是通过: 1 接口和实现接口并覆盖接口中同一方法的几不同的类体现的 2 父类和继承父类并覆盖父类中同一方法的几个不同子类 ...

  8. java泛型与接口_Java泛型用于方法,类和接口

    什么是泛型? 型就是数据类型参数化.就是说原本定死的数据类型像方法中的形参一样,数据是不确定的,使用的时候由人传进去,泛型就是这样,数据类型不确定了.使用的时候再确定就可以了. 泛型的特点 是JDK1 ...

  9. java calendar.add方法_Java Calendar add()方法与示例

    日历类add()方法add()方法在java.util包中可用. add()方法用于对指定的cal_fi(日历字段)执行相加或相减的时间量. add()方法是一个非静态方法,可通过类对象访问,如果尝试 ...

最新文章

  1. vsftpd日志配置及查看——可以将vsftpd记录在系统日志里
  2. idea连接nefu练习数据库
  3. 修改服务器ssh登录超时时间
  4. I00014 汉若塔问题的C++程序
  5. python数据预测_python时间序列预测股票走势
  6. python面试题之什么是PEP8规范
  7. 计算机界 TOP 3 难题:“相等”是软件工程中许多重大问题的根源!
  8. 《剑指offer》面试题42——翻转单词顺序列
  9. jmeter下载安装教程
  10. Android6.0 camera个数探测
  11. c语言作业做出金山打字功能,C语言实现简易金山打字通
  12. Word文档中快速插入分隔线的技巧_C#教程
  13. 第一章.计算机组成与体系结构
  14. smb+服务器+修复,Microsoft Windows
  15. 100秒图解区块链:从共享乘车到总统大选,它将如何颠覆世界?
  16. 【前端框架学习】第一次实验 跑马灯效果的制作
  17. 用python自动绘制小猪佩奇
  18. PHP 微信 扫码登录 pc网站
  19. 论文阅读笔记《Decoupled Visual Servoing With Fuzzy Q-Learning》
  20. 生意参谋数据分析师考试

热门文章

  1. python柱状图加百分比_关于Python数据分析进行整理柱状图加百分比
  2. 公司注册购买企业邮箱的意义
  3. 参加创新创业大赛有什么要求吗?
  4. 微信小程序常识——只需4个文件即可构成一个完整的微信小程序项目
  5. 小程序 账本小记 统计月收入 月支出 源码分享
  6. dhm-echarts图表架构与说明书
  7. SIM800C通讯模块调试(一)
  8. 如何利用人工智能技术提高网文生产的运营效率?
  9. Py之rgf_python:使用Python实现高性能分类模型的完整指南
  10. 千锋教育python2104期总结day15