详解Java常量类(OrderConstants)

package xxx.orderin;

public class OrderConstants {
    // 防止实例化
    private OrderConstants() {
        throw new UnsupportedOperationException("This is a utility class and cannot be instantiated");
    }
  
    //发送方业务类型 : xxx业务
    public static final String SEND_XXX_MFOR = "MFXX";
    //系统外部 API导入
    public static final String EX_ORDER_TYPE_AXX_XXX_IMPORT = "10";
}

定义了一个公共类OrderConstants。

private OrderConstants() {
    throw new UnsupportedOperationException("This is a utility class and cannot be instantiated");
}
  • 私有构造方法,阻止外部实例化该类
  • 抛出异常说明这个类纯粹是工具类(只用于存放静态常量,不希望被创建对象)

接下来的都是public static final常量,比如:

public static final String SEND_BIZ_MFOR = "MFOR";
public static final String EB_ORDER_TYPE_API_OMS_IMPORT = "10";

这代表:

  • public:其他类可以访问。
  • static:属于类本身,而不是实例。
  • final:常量,值不能修改。

❓那为什么在IDEA中这个类的图标不是蓝色的C,而是绿色的@?

这其实是IDEA对常量类的特殊识别行为。

✅ 原因:

在IntelliJ IDEA中,如果一个类:

  1. 只包含 public static final 常量,没有其他逻辑;
  2. 并且有 私有构造函数防止实例化;
  3. 那么 IDEA 会识别它是一个 “常量工具类”;

➡️ IDEA会用绿色的@图标来显示它,这是一种语义化提示,表示这是一个"纯粹的常量类",不是普通的Java类。

全部评论

相关推荐

强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务