java課堂 動手動腦3

1java

 

 

該函數沒有賦初值再就是若是類提供一個自定義的構造方法,將致使系統不在提供默認的構造方法。函數

2this

public class test spa

{對象

          public static void main(String[] args) blog

          {get

                 // TODO Auto-generated method stubit

                InitializeBlockClass obj=new InitializeBlockClass();class

                System.out.println(obj.field);test

                obj=new InitializeBlockClass(300);

                System.out.println(obj.field);

           }

  }

class InitializeBlockClass

{

      {field=200;}

      public int field=100;

      public InitializeBlockClass(int value){this.field=value;}

      public InitializeBlockClass(){}

}

java字段的全部類的變量都默認初始化爲null,好比String a; Integer b;

數字類的原始數據類型默認初始化爲0,好比int a; short b; char c;

boolean默認初始化爲false。執行類成員定義時指定的默認值或類的初始化模塊到底執行那一個,要看哪個在排在前面

2,:執行類的構造函數

3:類的初始化塊不接受任何的參數,並且只要一創見類的對象,它們就會被執行。所以,適合於封裝那些「對象建立時必須執行的代碼」

靜態初始化模塊的執行順序:

答:靜態初始化塊只能執行一次,建立子類對象時也致使父類型的靜態初始化塊也執行一次。

3)靜態方法中訪問類的實例成員

例子:

public class ButtonFactory

 {

           private static ButtonFactory _instance = null;

           public static  ButtonFactory getInstance()

        {

              if(null == _instance)

              _instance = new ButtonFactory();

              return _instance;

        }

}

使用類的靜態類和構造函數,咱們能夠跟蹤某個類所建立的個數。請寫一個類在任什麼時候候均可以查詢本身已經建立了多少對象

實例:

public class Objictnumber

{

      int number;

      public Objictnumber()

     {

            ++number;

            System.out.println("目前建立了"+number+"個對象");

     }

     public static void main(String[]args)

    {

         @SuppressWarnings("unused")

         Objictnumber obj=new Objictnumber();

     }

 }

相關文章
相關標籤/搜索