国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

構造java函數

2019-11-18 13:53:35
字體:
來源:轉載
供稿:網友

每次在創建實例變量,對類中的所有變量都要初始化是很乏味的。即使你對setDim ( ) 這樣的方法增加有用的功能時,你也不得不這樣做。假如在一個對象最初被創建時就把對它的設置做好,那樣的話,程序將更簡單并且更簡明。因為對初始化的要求是共同的,java 答應對象在他們被創造時初始化自己。這種自動的初始化是通過使用構造函數來完成的。

構造函數(constrUCtor )在對象創建時初始化。它與它的類同名,它的語法與方法類似。一旦定義了構造函數,在對象創建后,在new運算符完成前,構造函數立即自動調用。構造函數看起來有點希奇,因為它沒有任何返回值,即使是void 型的值也不返回。這是因為一個類的構造函數內隱藏的類型是它自己類的類型。構造函數的任務就是初始化一個對象的內部狀態,以便使創建的實例變量能夠完全初始化,可以被對象馬上使用。

你可以重寫Box 例子程序,以便當對象創建時盒子的尺寸能被自動地初始化。為了達到這個目的,用構造函數代替setDim 。讓我們由定義僅僅將每個盒子的尺寸設置為同樣值的一個簡單的構造函數開始。示例如下:

/* Here,Box uses a constructor to initialize the

dimensions of a box.
*/
class Box {

double width; double height; double depth;

// This is the constructor for Box.
Box() {
System.out.PRintln("Constructing Box");

width = 10;
height = 10;
depth = 10;

}

// compute and return volume double volume() { return width * height * depth;}}

class BoxDemo6 {

public static void main(String args[]) { // declare,allocate,and initialize Box objectsBox mybox1 = new Box();Box mybox2 = new Box();

double vol;

// get volume of first box
vol = mybox1.volume();
System.out.println("Volume is " + vol);

// get volume of second box
vol = mybox2.volume();
System.out.println("Volume is " + vol);

}
}

運行該程序,產生如下的結果:

Constructing Box
Constructing Box
Volume is 1000.0
Volume is 1000.0

正如你能看到的一樣,當mybox1 和mybox2 被創建時,它們兩個都被Box 構造函數初始化。因為構造函數將所有的盒子賦為一樣的尺寸,長、寬、高都是10,mybox1 和 mybox2 將有一樣的體積。在Box( )內的println( ) 語句僅僅是為說明的緣故。大多數構造函數的功能不顯示任何東西,他們僅簡單地初始化一個對象。

在繼續學習前,讓我們再考察new運算符。你已經知道,當分配一個對象時,使用下面的通用格式:

class-var = new classname( );

現在你可以理解為什么在類的名字后面需要圓括號。圓括號的作用是調用該類的構造函數。這樣,在下面的這行中

Box mybox1 = new Box();

new Box( ) 調用Box( )構造函數。假如你不顯式為類定義一個構造函數,Java 將為該類創建一個默認的構造函數。這就是本行程序在Box早期版本沒有定義構造函數工作的原因。
默認構造函數自動地將所有的實例變量初始化為零。默認構造函數對簡單的類是足夠的,但是對更復雜的類它就不能滿足要求了。一旦你定義了你自己的構造函數,默認構造函數將不再被使用。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 随州市| 定州市| 沾化县| 宁武县| 乐业县| 平陆县| 文成县| 准格尔旗| 德化县| 公安县| 外汇| 宿迁市| 平安县| 洛浦县| 崇礼县| 浪卡子县| 桐城市| 军事| 眉山市| 巧家县| 仁化县| 长葛市| 浮梁县| 台东市| 高州市| 长海县| 西华县| 黑水县| 拉孜县| 北宁市| 大丰市| 崇阳县| 清新县| 兴宁市| 开平市| 霍邱县| 香港 | 南召县| 武义县| 赤峰市| 吉木萨尔县|