精华内容
下载资源
问答
  • java常量定义
    千次阅读
    2021-02-28 14:38:28

    一、接口中定义常量:

    由于java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量。public interface Constants{

    String name = "111";

    }

    public class read{

    public static void main(String[] args){

    System.out.println("Class Constants's name = " + Constants.name);

    }

    }

    由于引用了一个static final 的字段,编译器已经将interface Constants中name的内容编译进了class read中,而不是对其引用。因此只有重新编译class read,interface Constants中name发生的变化才能在class read中反映。

    二、类中定义public class Constants{

    private static final String name = "111";

    public static String getName(){

    return name;

    }

    }

    public class read{

    public static void main(String[] args){

    System.out.println("Class Constants's name = " + Constants.getName());

    }

    }

    class read中是对Constants class的getName()方法的引用,当常量name的值改变时我们只需对class Constants中的常量做修改并重新编译,无需编译class read。

    我们可以使用jdk提供的反编译工具javap反编译read.class看个究竟,输入:javap -c read即可查看两种方式的不同。

    更多相关内容
  • java中只有static和非static变量,这个属于每个类的,如果需要全局变量比如PI(3.14...),可以写一个类Math,定义static变量PI,调用Math.PI就可以使用了,这样就达到我们使用全局变量的目的了
  • Java常量定义方法汇总

    2021-03-04 03:24:56
    Java常量定义方法汇总时间:2017-06-13来源:华清远见JAVA学院实际工作开发中,我们经常会使用到常量。那么Java常量如何定义呢?Java常量定义的规范是什么?定义Java常量又有哪些注意事项呢?今天华清Java学院小编整理...

    Java常量定义方法汇总

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

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

    6ab39f200c8f962a0adb04a47e23afe0.png

    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常量定义总结 转载

    千次阅读 2021-02-12 18:33:04
    一、常量定义的基本注意事项在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来进行Java常量定义。当常量被设定后,一般情况下就不允许再进行更改。在定义常量时,需要注意如下内容:一是Java...

    一、常量定义的基本注意事项

    在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来进行Java常量定义。当常量被设定后,一般情况下就

    不允许再进行更改。在定义常量时,需要注意如下内容:

    一是Java常量定义的时候,就需要对常量进行初始化。也就是说,必须要在常量声明时对其进行初始化。跟局部变量或者成员变量不同

    。当在常量定义的时候初始化过后,在应用程序中就无法再次对这个常量进行赋值。如果强行赋值的话,数据库会跳出错误信息,并拒绝接

    受这一个新的值。

    二是final关键字使用的范围。这个final关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。如数组

    就是一个对象引用。为此可以使用final关键字来定义一个常量的数组。这就是Java语言中一个很大的特色。一旦一个数组对象被final关键

    字设置为常量数组之后,它只能够恒定的指向一个数组对象,无法将其改变指向另外一个对象,也无法更改数组(有序数组的插入方法可使

    用的二分查找算法)中的值。

    三是需要注意常量的命名规则。不同的语言,在定义变量或者常量的时候,都有自己一套编码规则。这主要是为了提高代码的共享程度

    与提高代码的易读性。在Java常量定义的时候,也有自己的一套规则。如在给常量取名的时候,一般都用大写字符。在Java语言中,大小写

    字符是敏感的。之所以采用大写字符,主要是跟变量进行区分。虽然说给常量取名时采用小写字符,也不会有语法上的错误。但是,为了在

    编写代码时能够一目了然的判断变量与常量,最好还是能够将常量设置为大写字符。另外,在常量中,往往通过下划线来分隔不同的字符。

    而不想对象名或者类名那样,通过首字符大写的方式来进行分隔。这些规则虽然不是强制性的规则,但是为了提高代码友好性,方便开发团

    队中的其他成员阅读,这些规则还是需要遵守的。

    总之,Java开发人员需要注意,被定义为final的常量需要采用大写字母命名,并且中间最好使用下划线作为分隔符来进行连接多个单

    词。在定义final的数据不论是常量、对象引用还是数组,在主函数中都不可以改变。否则的话,会被编辑器拒绝并提示错误信息。

    二、Final关键字与static关键字同时使用

    由于Java是面向对象的语言,所以在Java常量定义的时候还有与其它编程语言不同的地方。如一段程序代码从编辑到最后执行,即使需

    要经过两个过程,分别为代码的装载与对象的建立。不同的过程对于常量的影响是不同的。

    1).不使用static修饰情况:

    例如:  final long CURRENT_TIME=System.currentTimeMillis();

    默认情况下,定义的常量是在对象建立的时候被初始化。如果在建立常量时,直接赋一个固定的值,而不是通过其他对象或者函数

    来赋值,那么这个常量的值就是恒定不变的,即在多个对象中值也是相同的。但是如果在给常量赋值的时候,采用的是一些函数或者对象(

    如生成随机数的Random对象),那么每次建立对象时其给常量的初始化值就有可能不同。可见,使用final的Java常量定义并不是恒定不变的

    2).使用static修饰情况:

    例如:static final long CURRENT_TIME=System.currentTimeMillis();

    这个是一个静态的概念。即当利用这个关键字来修饰一个变量的时候,在创建对象之前就会为这个变量在内存中创建一个存储空间

    。以后创建对对象如果需要用到这个静态变量,那么就会共享这一个变量的存储空间。也就是说,在创建对象的时候,如果用到这个变量,

    那么系统不会为其再分配一个存储空间,而只是将这个内存存储空间的地址赋值给他。如此做的好处就是可以让多个对象采用相同的初始变

    量。当需要改变多个对象中变量值的时候,只需要改变一次即可。从这个特性上来说,其跟常量的作用比较类似。不过其并不能够取代常量

    的作用

    展开全文
  • java系统常量定义的几种方式

    千次阅读 2019-05-06 16:39:42
    1、接口定义 public interface ConstantCode ...看似正好符合常量的使用规范,但是接口的意义是可以被实现,而实现一个只有常量的接口没有实际意义,所以这种方式不推荐使用。 2、final clas...

    1、接口定义

    public interface ConstantCode
    {
        public final static String OK = "ok";
    }
    

    接口的成员变量只能是常量,默认修饰符 public static final

    看似正好符合常量的使用规范,但是接口的意义是可以被实现,而实现一个只有常量的接口没有实际意义,所以这种方式不推荐使用。

    2、final class

    public final class ConstantCode
    {
        private ConstantCode(){};
        public final static String OK = "ok";
    }
    

    类定义成final且定义一个private的构造方法,防止其被继承和其实例化

    3、枚举

    public enum ConstantCode {
    
    	OK(200, "ok");
    	Integer code;
    	String name;
    
    	// 构造方法
    	ConstantCode(Integer code, String name) {
    		this.code = code;
    		this.name = name;
    	}
    	public static String getName(Integer code) {
    		for (ConstantCode evenEnum : ConstantCode.values()) {
    			if (evenEnum.getCode().equals(code)) {
    				return evenEnum.getName();
    			}
    		}
    		return null;
    	}
    	public Integer getCode() {
    		return code;
    	}
    	public void setCode(Integer code) {
    		this.code = code;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    
    }
    System.out.println(ConstantCode.getName(200));
    
    得到结果:
    ok
    

     

     

    展开全文
  • Java常量定义的几种方式

    千次阅读 2021-02-12 09:18:04
    编程中使用常量的优点:常量提取出来有利于代码阅读,而且下次再做这种判断不用手写或复制并且提高代码的复用率,方便修改,直接通过...1、Interface定义常量接口常量,写起来方便,看着简洁。 在接口中可以通过内...
  • JAVA常量

    2021-01-07 09:32:47
    Java 的整型常量值主要有如下 3 种形式。 十进制数形式【……】 54、-67、0 八进制数形式【0……】 Java 中的八进制常数的表示以 0 开头 0125 表示十进制数 85 -013 表示十进制数 -11 十六进制数形式【0x…… / 0X...
  • Java常量定义

    2021-01-20 03:44:48
    一、接口中定义常量:  由于java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量。  public interface Constants{  String name = 111;  }  public class read{  public ...
  • JAVA定义常量方法

    千次阅读 2021-02-12 09:17:53
    JAVA中定义常量方法(2013-01-28 14:30:19)标签:it一、常量定义的基本注意事项。在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量。当常量被设定后,一般情况下就不允许再进行更改。...
  • 主要介绍了Java变量常量声明和定义原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 不过在Java常量定义的时候,跟其他语言有所不同。其有自己的特色。在这篇文章中,主要针对Java语言中定义常量的注意事项进行解析,帮助各位程序开发人员更好的掌握常量的定义与管理工作。一、常量定义的基本注意事项...
  • Java常量Java常量定义和分类

    千次阅读 2019-06-28 17:13:10
    下面我们来系统地认识一下 Java 中的常量值,以及定义常量的方法。 常量常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。下面一一介绍这些常量值。 整型常量...
  • 初步整理的java常量变量的概念,十分粗浅,只是将简单的概念整理了出来,在使用过程中还需要慢慢累积和理解其中的更深含义
  • Java常量接口反模式 这篇文章最初发布在我的博客上: : 您如何在Java中定义和使用常量? Internet上的大多数建议具有以下意见: 为类中的常量声明public static final 不要将接口用于常量 定义常量的最常见方法...
  • 不过在Java常量定义的时候,跟其他语言有所不同。其有自己的特色。在这篇文章中,主要针对Java语言中定义常量的注意事项进行解析,帮助各位程序开发人员更好的掌握常量的定义与管理工作。一、常量定义的基本注意事项...
  • 有些人使用整数或字符串来定义常量,而另一些人则使用枚举。我还遇到了在它们自己的接口中定义常量——在接口中,使用常量的类必须实现接口。这种策略通常被称为接口常量设计模式。在本文中,我们将了解在Java中...
  • Java定义常量字符串?

    千次阅读 2021-03-08 02:11:34
    我有一个常量字符串列表,需要在Java程序中的不同时间显示它们。在C语言中,我可以在代码顶部定义以下字符串:#define WELCOME_MESSAGE"Hello, welcome to the server"#define WAIT_MESSAGE"Please wait 5 seconds"#...
  • Java 常量都可以定义在哪里?

    千次阅读 2019-03-04 16:12:44
    1、常量提取出来有利于代码阅读,而且下次再做这种判断不用手写或复制,直接通过常量类就能得到,能够避免有的地方是username,有的地方是name来判断同一个逻辑含义相同变量问题。 不过我觉得提取出来并不会有利于...
  • Class定义常量方法(推荐方法)//final修饰符public final class Constants {//私有构造方法private Constants() {}public static final int ConstantA = 100;public static final int ConstantB = 100;......}采用...
  • Java定义Map常量,List常量

    千次阅读 2021-02-12 22:42:22
    一般的方式的使用静态代码块。比如:public final static Map map = new HashMap();static {map.put("key1", ...}下面为一种简单定义Map常量方式public final static Map NAV_ITEM_ADPTER = new HashMap() {{put...
  • 静态定义常量

    2016-11-06 21:59:30
    java 定义静态常量
  • 如何在Java定义常量

    千次阅读 2021-02-12 20:22:24
    围绕JAVA中的常量主题似乎存在很多混淆,有的人使用整数或字符串来定义常量,而有的人则使用枚举。我还遇到了在自己的接口中定义常量 —— 使用常量的类必须实现接口。该策略通常被称为界面常量设计模式。在本文中...
  • Java定义常量的几种方法

    万次阅读 多人点赞 2019-05-12 20:09:04
    Interface定义常量方法 Class定义常量方法 这两者有什么区别呢? 1.代码简洁 2. interface 中定义常量方法生成的 class 文件比第一种方法的更小 为什么小呢? 我们都知道 interface 没有继承 Object,Object 是...
  • 在定义常量的时候要注意的问题:常量要在定义时赋值常量定义之后就不能再改变它的值常量使用final关键字来定义Java里有六个特殊常量NaN, Inf, -Inf, null, true, falsejava常量定义的例子final double d = 1...
  • java map常量定义

    千次阅读 2018-11-22 20:36:00
    Java定义Map常量,List常量 一般的方式的使用静态代码块。比如: 1 2 3 4 5 publicfinalstaticMap map =newHashMap(); static...
  • java常量和变量的定义

    2020-06-23 11:24:29
    java常量的分类 常量分类 说明 举例 字符串常量 用字符串括起来的多个字符 “happy”、“大佬” 整数常量 不带小数的数字 1,20,300,4000 小数常量 带小数的数字 1.1,2.2,30.0 字符常量 只有一个字符的...
  • Java 中使用 final 关键字来修饰常量。 虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量常量常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型...
  • Java定义常量几种方式

    万次阅读 2017-08-20 22:51:18
    在开发中定义常量是很常见的事,但常量定义有哪几种方式可选?各种定义方式有什么优缺点?咱们就用这篇小文来梳理下^_^ 1.通过接口Interface来定义(不推荐) 定义方式如下: 我们可以这样使用它...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 364,658
精华内容 145,863
关键字:

java常量定义方式

java 订阅