1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Java訪問類變量-創(chuàng)新互聯(lián)

      很多語言都不允許通過對象訪問類變量,對象只能訪問實例變量,為什么Java可以?

      public class NullAS{
      private static void a(){
         System.out.println("hello word");
         
         }
         
         public static void main(String[] args)
         
         {
         
         NullAS N = null;
         
         N.a();
         
         }
         
      }

      這段代碼最終的輸出結果是:

      創(chuàng)新互聯(lián)主營靈武網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶APP開發(fā)公司,靈武h5微信小程序搭建,靈武網(wǎng)站營銷推廣歡迎靈武等地區(qū)企業(yè)咨詢

      hello Word

      有些人可能會有疑問,使用null對象調用所屬類的靜態(tài)方法,沒有報錯,還可以正常輸出

      這其中就涉及到了Java的類,類成員和static

      類成員包括類變量,類方法等

      讓我們來看看類變量的定義:

      “類變量屬于整個整個類,當系統(tǒng)第一次準備使用該類時,系統(tǒng)會為該類變量分配內存空間,類變量開始生效,直到該類被卸載,該類的類變量所占用的內存才被系統(tǒng)的垃圾回收機制回首。類變量生存范圍幾乎等同于該類的生存范圍。當類初始化完成后,類變量也初始化完成”

      當我們看一下上面代碼的分配內存情況可知

      當系統(tǒng)創(chuàng)建該類的對象時,系統(tǒng)不會再為類變量分配內存,也不會再次對壘變量進行初始化,也就是說,對象根本不擁有對應類的類變量。通過對象訪問類變量只是一種假象。當通過對象來訪問類變量時,系統(tǒng)會在底層轉換為該類來訪問類變量。

      由于對象實際上并不持有類變量,類變量時由該類持有的,同一個類的所有對象訪問類變量時,實際上訪問的都是該類的類變量。從程序運行表面來看,即可看到同一類的所有勢力的類變量共享同一塊內存區(qū)。

      類方法也是類成員的一種,與類變量相似。

      當使用實例來訪問類成員時,實際上依然是委托給該類來訪問類成員,因此,即使某個實例為null,它也可以訪問它所屬類的類成員。

      當然,如果一個null對象訪問實例成員,那可是會報NullPointerException異常的

      類初始模塊也是類成員的一種,類初始化塊用于執(zhí)行類初始化動作,在類的初始化階段,系統(tǒng)會調用該類的類初始化塊來對類進行初始化。一旦該類初始化結束后,類初始化塊講永遠不會獲得執(zhí)行的機會。

      對于static而已,類成員不能訪問實例成員。因為類成員是屬于類的,類成員的作用域比實例成員的作用域更大,完全可能出現(xiàn)類成員以及初始化完成,但實例成員還不曾初始化的情況,如果允許成員訪問實例成員將會引發(fā)大量錯誤

      所以,實際上Java和很多語言一樣,對象只能訪問實例變量,類變量通過類來訪問,只是它給使用者造成了一種假象


      網(wǎng)頁名稱:Java訪問類變量-創(chuàng)新互聯(lián)
      瀏覽地址:http://www.ef60e0e.cn/article/copjsj.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        五原县| 昌图县| 稻城县| 南陵县| 陆丰市| 宝丰县| 加查县| 谢通门县| 文水县| 仲巴县| 华安县| 临潭县| 黑龙江省| 南康市| 资中县| 桑植县| 增城市| 新建县| 黄山市| 关岭| 乾安县| 句容市| 濮阳市| 综艺| 科技| 安阳县| 凤庆县| 西充县| 漯河市| 巴林右旗| 青州市| 河北区| 无棣县| 吉首市| 油尖旺区| 滦平县| 昌邑市| 绥阳县| 建昌县| 盐边县| 山西省|