構造器的特徵
它具有與類相同的名稱
它不宣告返回值型別。(與宣告void不同)
不能被static、final、synchronized、abstract、native修飾,不能有return語句返回值
構造器的作用
如:
order o = new order();
person p = new person(peter,15);
如同我們規定每個「人」一出生就必須先洗澡,我們就可以在「人」的構造方法中加入「洗澡」的**程式,於是每個「人」一出生就會自動完成洗澡,
程式就不必再在每個人剛出生時乙個乙個告訴他們要「洗澡」了。
構造器(constructor 構造方法)
ps:構造方法和之前的方法完全不是一回事,沒有任何關係。
constructor:建造者
作用:建立物件
person p1 = new person(); //person() 為構造器(每個類都會自動生成乙個空參構造器)
ps:之前說物件建立的時候,沒new出乙個類,類就會初始化,初始化的原因就在於構造器,如果用預設提供的空參構造器的話,
類中的屬性初始化就會為null、""(空)、或者為0等,就是屬性的預設賦值。
那麼也就是說如果在構造器中加入引數,那麼初始化的值則不再為屬性的預設賦值,而是傳入的引數。
和方法一樣,在寫有引數的構造的時候括號內的引數為形參,構造器內容會描述如何呼叫引數。
在建立物件進行使用的時候加入的是實參,實參則是new出來的物件屬性初始化的值。
eg:
string str = new string("com.******");
system.out.println(str);
new出乙個string物件str,呼叫了其中乙個構造器,構造器內寫入的實參就是str初始化的值。所以列印str為:com.******
作用:給建立的物件的屬性賦值(初始化物件的屬性)
1、設計類時,若不顯示宣告類的構造器的話,程式會預設提供乙個空參構造器。
ps:類是抽象的,如果你要想他能夠執行乙個程式,我們需要造物件,從類到物件是必須的,那麼構造器也就是必須的。
pps:記住抽象的意義:是對實體的描寫,就是乙個設計圖紙,還沒有生成。也就是說類如果想生成物件,必須需要構造器。
2、一旦 顯示的 定義類的構造器,那麼預設的構造器不再提供。
eg:person p = new person();
這是在testpersons類中宣告person類,通過空參建立了乙個p物件。
而一旦person類中定義了乙個構造器,那麼空參構造器就會自動失效,那麼上面通過空參建立的類也會報錯。如果還想用空參建立類
就必須再定義乙個空參。
public person(string n)
ps:此構造器形參定義了乙個string型別的引數,使用這個構造器的時候傳入乙個string型別的引數,那麼person類中的name屬性就會被
傳入的string 型別引數賦值。
string ss ="ss";
person p2 = new person(ss);
system.out.println(p2.getname());//輸出為ss。
或者 person p2 = new person("ss");
system.out.println(p2.getname());//輸出為ss。
如何宣告類的構造器:格式,許可權修飾符 類名(形參)
public person(){}
ps:必須是類名。形參就是給類的屬性賦值的。
類的多個構造器之間構成過載。
Date類的構造方法和成員方法
首先簡單概述一下這個date類,這個類的作用就是用來表示日期和時間的類,這個date類的時間原點是以1970 年 1 月 1 日 00 00 00 gmt 英國格林威治 以來的指定毫秒數。因為中國在東八區,所以在中國的時間原定為1970 年 1 月 1 日 08 00 00.另外date類在表示日期...
構造器(構造方法)
知識點 1.乙個類即使什麼都不寫,他也會存在乙個方法 構造器 構造方法 2.構造方法的名字必須與定義他的類名完全相同,沒有返回型別,甚至連void也沒有。3.構造方法的呼叫是在建立乙個物件時使用new操作進行的。構造方法的作用是初始化物件。4.有參構造 一旦定義了有參構造,無參一定要寫出來!pack...
構造器(構造方法)
題目 編寫兩個類 和 test,其中 類中宣告私有的底邊長base和高height,同時宣告公共方法訪問私有變數。此外,提供類必要的構造器。另乙個類中使用這些公共方法,計算三角形的面積。回答 public class test public int a,int b public void setba...