1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

      Static和Final修飾類屬性變量及初始化

      更新時間: 2007-06-04 09:20:35來源: 粵嵌教育瀏覽量:723


        1.static修飾一個屬性字段,那么這個屬性字段將成為類本身的資源,public修飾為共有的,可以在類的外部通過test.a來訪問此屬性;在類內(nèi)部任何地方可以使用.如果被修飾為private私有,那么只能在類內(nèi)部使用.

      public class Test{
      public static int a;
      private Test(){
      a=0;
      }
      }

        如果屬性被修飾為static靜態(tài)類資源,那么這個字段永遠只有一個,也就是說不管你new test()多少個類的對象,操作的永遠都只是屬于類的那一塊內(nèi)存資源.例如:

      Test t1=new Test();
      t1.a=10;
      Test t2=new Test();
      System.out.println(t1.a);
      System.out.println(t2.a);
      System.out.println(Test.a);

      結(jié)果是3個0

        2.final 用于聲明屬性,方法和類,分別表示屬性一旦被分配內(nèi)存空間就必須初始化并且以后不可變,方法一旦定義必須有實現(xiàn)代碼并且子類里不可被覆蓋,類一旦定義不能被定義為抽象類或是接口,因為不可被繼承。

      而你的代碼里對final修飾的屬性進行了修改,所以錯誤.

        3. 被final修飾而沒有被static修飾的類的屬性變量只能在兩種情況下初始化:

        a.在它被定義的時候,例:

      public class Test{
      public final int a=0;
      private Test(){
      }
      }

        b.在構(gòu)造函數(shù)里初始化,例:

      public class Test{
      public final int a;
      private Test(){
      a=0;
      }
      }

        4.同時被final和static修飾的類的屬性變量只能在兩種情況下初始化:

        a.在它被定義的時候,例:

      public class Test{
      public final int a=0;
      private Test(){
      }
      }

        b.在類的靜態(tài)塊里初始化,例:

      public class Test{
      public final int a;
      static{
      a=0;
      }
      }

        5.分析第三第四原因:

        第三條:當(dāng)這個屬性被修飾為final,而非static的時候,它屬于類的實例對象的資源,當(dāng)類被加載進內(nèi)存的時候這個屬性并沒有給其分配內(nèi)存空間,而只是定義了一個變量a,只有當(dāng)類被實例化的時候這個屬性才被分配內(nèi)存空間,而實例化的時候同時執(zhí)行了構(gòu)造函數(shù),所以屬性被初始化了,也就符合了當(dāng)它被分配內(nèi)存空間的時候就需要初始化,以后不再改變的條件.

        第四條:當(dāng)類的屬性被同時被修飾為static和final的時候,他屬于類的資源,那么就是類在被加載進內(nèi)存的時候(也就是應(yīng)用程序啟動的時候)就要已經(jīng)為此屬性分配了內(nèi)存,所以此時屬性已經(jīng)存在,它又被final修飾,所以必須在屬性定義了以后就給其初始化值.而構(gòu)造函數(shù)是在當(dāng)類被實例化的時候才會執(zhí)行,所以用構(gòu)造函數(shù),這時候這個屬性沒有被初始化.程序就會報錯.而static塊是類被加載的時候執(zhí)行,且只執(zhí)行這一次,所以在static塊中可以被初始化.

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 污污网站在线观看 | 一本中文在线精品视频 | 色综合AV激情在线观看 | 一区二区精品视频在线精品 | 一本大道中文日本香蕉 | 思思久久96热视频主播 |