java 對象是在什么時候創建的?


  我們都知道,創建java類對象的方式: new + 類的構造方法(可能是有參構造或者無參構造)!

 

在大多數初學者眼中,執行構造方法就是創建實例,其實不然。這一點可以從this關鍵字來看出:

public class User{

  public User(){

    this.test();//標記

  }

  public void test(){

    System.out.print("正在執行構造方法...");

  }

}

  從以上代碼中我們可以看出:當構造方法執行到注釋標記處,我們使用了this關鍵字,而this的作用就是是指代構造方法執行時的當前類實例,也就是說在構造方法執行之前,實例已經被創建了!所以類實例或者說類對象並不是構造方法創建的,而是new 關鍵字來創建的。而構造方法的 作用其實是初始化實例,這一點我們從帶參的構造方法中可以看出:

public class User{

  private String name;

  private int age;

  public User(String name ,int age){

    this.name = name;

    this.age = age;

    this.test();//標記

  }

  public void test(){

    System.out.print("正在執行構造方法...");

  }

}

所以,類對象是在執行構造方法前已經被創建,而構造方法的作用就是初始化對象!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM