Java怎么定义一个常量

参考答案

Java中定义常量的方法有两种:Class、Interface。

1. Class

采用“类.常量名”方法进行调用,需要私有化构造方法,避免创建该类的实例,同时不让其他类继承该类。

如果多处需要访问工具类中定义的常量,可以通过静态导入(static import)机制,避免用类名来修饰常量名。

//final修饰符
public final class Constants {
    //私有构造方法
    private Constants() {}

    public static final int ConstantA = 100;
    public static final int ConstantB = 100;
    ......
}

2. Interface

在interface中声明的字段,虚拟机在编译时自动加上public static final修饰符。使用方法一般是“接口.常量名”。也可以通过实现该接口,直接访问常量名,即常量接口模式。

public interface Constants {
    int ConstantA = 100;
    int ConstantB = 100;
    ......
}

总结:

interface中定义常量方法生成的class文件,比第一种方法的class文件更小, 且代码更简洁, 效率更高。

在Java中会产生问题,主要是Java的动态性,Java中一些字段的引用可以在运行期动态进行。

某些场景下,部分内容改变可只进行部分编译。

因此,推荐使用Class定义常量,但采用private修饰符,通过get方法获取常量,这种方案可以保证java的动态性。

public class A{
    private static final String name = "bright";
    public static String getName(){
        return name;
    }

以上,是Java面试题【Java怎么定义一个常量】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧