1. 程式人生 > >初始化與清理

初始化與清理

分區 字段名 ava 調用 正常 必須 位置 重載 有時

通過關鍵字new 類名();創建對象存放在堆上,返回一個對象引用

類被實例化是通過 new 類名(); 完成的,對象的創建和初始化被糅合在一起,通過構造器完成這種耦合,因此必須存在構造器,才能保證類的實例化正確執行

構造器保證實例化對象正常被初始化,默認構造器(當沒有創建任何構造器時),重載構造器(當自定義創建構造器時,默認構造器失效)

構造器沒有返回值,註意:沒有返回值和返回值為void不同;

方法的重載

通過參數列表的不同來區別方法重載,參數列表位置不同同樣也可以區分方法重載,不過對於方法的調用者不友好,位置信息不能反映出具體的實際意義;

方法的返回值是否可以區分方法重載

重載是實現編譯期的多態性

當編譯器可以根據語境正確判斷語義的時候,是可以區分的(但是在這樣定義時,編譯會不通過,Java不允許通過方法返回值來區分重載方法)

void f(){}

int f(){ return 1;}

例如根據 int x = f(); 是可以區分出調用那個方法的

但是對方法的調用並不是一直關註著方法的返回值的(有時確實需要關註方法的返回值),有時更需要的是方法調用的其他效果(方法內部處理邏輯),這時會忽略方法的返回值

當出現 f();Java是判斷不出該調用那個方法的

this關鍵字

this指的是當前對象的引用,對方法調用時,參數名字和字段名字相同時,為分區歧義,通過this.parameter.parameter;

初始化與清理