亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過另一個類的靜態最終變量實例化一個類的靜態最終變量的一部分總是安全的嗎?

通過另一個類的靜態最終變量實例化一個類的靜態最終變量的一部分總是安全的嗎?

慕桂英546537 2023-07-28 15:43:17
我有一個包含公共最終靜態變量的模型,我想用它來實例化另一個類(Spring 類@service)的私有最終靜態變量,例如public class MyClass {  public static final String MY_CLASS_MSG = "My Class";}@Servicepublic class MyService {  private static final String MY_SERVICE_MSG = "My Service" + MyClass.MY_CLASS_MSG;}我能否始終保證MY_SERVICE_MSG始終被正確實例化?
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

是的。在一般情況下,類是延遲加載的,這樣做時發生的第一件事是運行靜態初始化程序/評估靜態屬性,這本身將觸發加載包含這些靜態初始化程序或屬性引用的屬性的任何類。

正如 ruakh@ 指出的,當常量的定義是純靜態的(即不涉及任何方法調用)時,編譯器有特殊的規則。在這種情況下,編譯器本身可以評估常量,這有時是必要的(例如,如果該值是注釋字段中的引用,則必須靜態處理該常量)。

無論如何,據我所知,你所做的事情絕對不會有問題。你擔心什么?


查看完整回答
反對 回復 2023-07-28
  • 1 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號