默認構建器是沒有自變量的。它們的作用是創建一個“空對象”,就是 構造函數,如果沒寫,會有默認的構造函數
Bird nc = new Bird(); 中 new Bird(); 就是新建一個對象,并調用默認構建器,
如果寫了自己的構造函數
class Bush {Bush(int i) {}Bush(double d) {}}
new Bush();時會報錯,因為自己定義的構造函數有自變量,
Banana a = new Banana()
Banana b = new Banana();a.f(1);b.f(2)
為了用簡便的、面向對象的語法來書寫代碼,編譯器會會有寫幕后工作,因此代碼會變成這樣Banana.f(a,1);Banana.f(b,2);,雖然實際不能這么寫,這樣只是更好理解對象
this關鍵字
class Student{ PRivate String name; //定義一個成員變量namepublic void setName(String name) {//設置姓名,定義一個形參namename=name; }//將局部變量的值傳遞給成員變量 }這個時候輸出的name是個null,name=name;因為名稱一樣了,因此編譯器賦值的時候分不清了,就會變成空賦空,名稱不一樣時,也能賦值,如果寫成this.name=name;他的意思就是把傳進去自變量name賦值給這個類的name。this.的意思就是這個類的什么什么。就好像是自動生成的對象的指針
|
新聞熱點
疑難解答