類的成員 構造器(構造方法)

2021-10-23 05:30:58 字數 1839 閱讀 6346

構造器的特徵

它具有與類相同的名稱

它不宣告返回值型別。(與宣告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...