java -> 代碼塊

來源:互聯網
上載者:User

標籤:public   size   靜態代碼塊   out   初始化   ffffff   name   str   person   

代碼塊
局部代碼塊
  局部代碼塊是定義在方法或語句中
特點:
  以”{}”劃定的代碼地區,此時只需要關注範圍的不同即可
  方法和類都是以代碼塊的方式劃定邊界的
  class Demo{
    public static void main(String[] args){
    {
      int x = 1;
      System.out.println("普通代碼塊" + x);
    }
    int x = 99;
    System.out.println("代碼塊之外" + x);
    }
  }
結果:
普通代碼塊1
代碼塊之外99
構造代碼塊
  構造代碼塊是定義在類中成員位置的代碼塊
特點:
  優先於構造方法執行,構造代碼塊用於執行所有對象均需要的初始化動作
  每建立一個對象均會執行一次構造代碼塊。
  public class Person {
    private String name;
    private int age;

    //構造代碼塊
    {
      System.out.println("構造代碼塊執行了");
    }
    Person(){
      System.out.println("Person無參數的建構函式執行");
    }
    Person(int age){
      this.age = age;
      System.out.println("Person(age)參數的建構函式執行");
    }
  }
  class PersonDemo{
    public static void main(String[] args){
      Person p = new Person();
      Person p1 = new Person(23);
     }
  }
靜態代碼塊
  靜態代碼塊是定義在成員位置,使用static修飾的代碼塊。
特點:
  它優先於主方法執行、優先於構造代碼塊執行,當以任意形式第一次使用到該類時執行。
  該類不管建立多少對象,靜態代碼塊只執行一次。
  可用於給靜態變數賦值,用來給類進行初始化。
  public class Person {
    private String name;
    private int age;
  //靜態代碼塊
    static{
      System.out.println("靜態代碼塊執行了");
    }
  }

 

java -> 代碼塊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.