java中常量定义

本文介绍了如何在Java中使用static和final修饰符创建常量,展示了常量变量的定义方式,包括枚举和常量实例。同时,讨论了常量的优势,如代码可读性、性能提升以及潜在问题,特别是关于final关键字对对象引用的注意事项。
摘要由CSDN通过智能技术生成

A constant is a variable whose value cannot change once it has been assigned.

Java doesn't have built-in support for constants, but the variable modifiers static and final can be used to effectively create one.

Constants can make your program more easily read and understood by others.

In addition, a constant is cached by the JVM as well as your application, so using a constant can improve performance. 

Static Modifier

This allows a variable to be used without first creating an instance of the class;

a static class member is associated with the class itself, rather than an object. All class instances share the same copy of the variable.

This means that another application or main() can easily use it.

For example, class myClass contains a static variable days_in_week:

public class myClass {
   static int days_in_week = 7;
}

Because this variable is static, it can be used elsewhere without explicitly creating a myClass object:

public class myOtherClass {  
   static void main(String[] args) {
       System.out.println(myClass.days_in_week);
   }
 }

常量定义:

public class WeekDay {

    private WeekDay(){}

    public static int MONDAY = 0;
    public static int TUESDAY = 1;
    public static int WEDNESDAY = 2;
    public static int THURSDAY = 3;
    public static int FRIDAY = 4;
    public static int SATURDAY = 5;
    public static int SUNDAY = 6;
}

 

枚举常量定义:

public enum WeekDay {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

 

Final Modifier

The final modifier means that the variable's value cannot change.Once the value is assigned, it cannot be reassigned. 

Primitive data types (i.e., int, short, long, byte, char, float, double, boolean) can be made immutable/unchangeable using the final modifier.

语法:

static final int DAYS_IN_WEEK = 7;

Note that we declared DAYS_IN_WEEK in all caps once we added the final modifier. It's a long-standing practice among Java programmers to define constant variables in all caps, as well as to separate words with underscores.

Java doesn't require this formatting but it makes it easier for anyone reading the code to immediately identify a constant

Potential Problems With Constant Variables

The way the final keyword works in Java is that the variable's pointer to the value cannot change. Let's repeat that: it's the pointer that cannot change the location to which it's pointing.

There's no guarantee that the object being referenced will stay the same, only that the variable will always hold a reference to the same object. If the referenced object is mutable (i.e. has fields that can be changed), then the constant variable may contain a value other than what was originally assigned. 

 


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>