構造方法根據有無引數分為無參構造和有參構造
無參構造語句:
[修飾符] 類名()有參構造語句:
[修飾符] 類名(type a1,type a2...)它倆構成了方法過載。
區域性變數和成員變數的優先順序問題:(如下述**)
public此時標記的name是無法賦值給name的,因為區域性變數的優先順序高於成員變數,name只會找到nameclass
dog}
name這種情況怎麼解決呢?
第一種方法:
public將這個形參裡的屬性名變化一下以示區分,此時name在區域性變數裡面找不到name就會去成員變數裡面找。class
dog}
第二種方法:
關鍵字 this(可用於訪問物件本身的屬性)
具體例項可跳到 this 環節。。。
有參構造中常見問題:
一般類裡沒宣告構造的話,系統預設的是無參構造;
如果宣告了有參構造,但是其它類傳過來的資料型別或者屬性個數都不匹配的話,那麼系統就會報錯,
此時咱們程式設計師就需要習慣性的兩個構造都宣告一下。
舉例說明:(下述類的有參構造只構造了名字和品種,但是沒有宣告無參構造)
1public
class
dog14
*/15
16public dog(string _name,string _strain)
2223
public
void
showinfo()
29 }
另乙個類的屬性賦值:9-13行**就是解決方案。
***習慣性的兩個構造都宣告一下
有參構造與無參構造
定義person類 public class person 2.有參構造 一旦定義有參構造,無參就必須顯示定義 public person string name main函式呼叫 person person newperson 和平 system.out.println person.name 一...
有參構造與無參構造
構造方法是一種特殊的方法,它是乙個與類同名且返回值型別為同名類型別的方法。物件的建立就是通過構造方法來完成,其功能主要是完成物件的初始化。當類例項化乙個物件時會自動呼叫構造方法。構造方法和其他方法一樣也可以過載。修飾符 類名 如果開發中沒有定義無參構造方法,jvm預設給類分配乙個無參構造,形如 pu...
構造方法 空參構造 有參構造
1.給物件的資料或屬性進行初始化 2.特點 一 方法名與類名相同 二 沒有返回值型別,連void都沒有 三 沒有返回值 四 構造方法不能用物件呼叫,在建立物件時,系統會自動呼叫 public class play class person public person string name,int ...