我們都知道,創建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("正在執行構造方法...");
}
}
所以,類對象是在執行構造方法前已經被創建,而構造方法的作用就是初始化對象!
