999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java中的構造方法

2017-07-29 18:29:26劉妍東
科教導刊·電子版 2017年18期

劉妍東

摘 要 構造方法是一種特殊的方法,它是一個與類同名且沒有返回值類型的方法。對象的創建就是通過構造方法來完成,其功能主要是完成對象的初始化。當類實例化一個對象時會自動調用構造方法。構造方法和其他方法一樣也可以重載。

關鍵詞 java 構造方法 測試

中圖分類號:TP311 文獻標識碼:A

1概念

構造方法是專門用于創建對象的方法,通常執行對成員變量賦值等初始化操作。構造方法有3個特性,一是一種特殊的成員方法,二是方法名與類名一致,三是方法定義中無返回值類型。我們先看一下構造方法的格式,中括號是可選項,修飾符為訪問控制修飾符,如public,代表的是公共的方法。后面直接是方法名,要求方法名與類名一致,括號中是參數,根據需要可選。大括號中方法體內容主要為成員變量賦值。

[修飾符] 方法名([參數])

{//方法體}

2應用舉例

我們通過一個列子來看一下構造方法的定義和使用。首先我們定義一個公共的構造方法,方法名與類名一致,括號中無參數,方法體為對radius成員變量賦值為5,則圓半徑為5。在主方法中,注釋掉為成員賦值語句。我們看一下運行結果,同樣是78.5。

public class Circle{double radius;public Circle}

public Circle2 (double x){radius=x;}

public double CalArea( ){return 3.14*radius*radius;}

Public static void main(String args){Circle c2=new Circle(5);System.out.println("c2:"+c2.CalArea;}

那這半徑的值是怎么傳遞的呢?我們看一下這一句,new關鍵字后面的Circle括號,其實就是調用的構造方法。我們把不帶參數的構造方法稱之為默認的構造方法,同樣我們把默認構造方法成員變量也應該賦值為默認值。或者什么都不寫也自動賦為默認值。默認值半徑為0,運行結果面積也為0。

構造方法我們可以定義多個,如我們定義一個帶參數的構造方法,方法名與類名一致,帶有一個double類型的參數。這樣參數可以為double類型的成員變量賦值。定義一個c2對象,調用帶參數的構造方法,參數為2,調用求面積方法看一下運行結果。第一個是半徑為默認值0的面積,第二個是半徑為指定值2的面積。

在上一個例子中只有一個成員變量,當類中存在多個成員變量時,應該如何定義構造方法呢。我們來看第二個例子。

在person類中,有5個成員變量,如果沒有寫構造方法,其實類中已經存在默認的構造方法了,一個成員方法outValue輸出所有成員變量的值。通過定義對象調用默認的構造方法,再調用outValue方法輸出所有值,我們看一下運行結果。運行結果中,都為默認值,數值型的為0,其他為null。

public class Person{String name,sex;int age;double height,weight;

public void outValue( ) {System.out.println("姓名:"+name+" 性別:"+sex+" 年齡:"+age+" 身高:"+height+" 體重:"+weight);}

public static void main(String args[]){Person p1=new Person();p1.outValue();}

運行結果:姓名:null 性別:null 年齡:0 身高:0.0 體重:0.0

下面我們來定義構造方法,只要顯式定義構造方法,則默認的構造方法就消失了,所以我們需要重新定義一下。我們再定義一個帶參數的構造方法,參數的數據類型與成員變量的數據類型一定要一致。如給成員變量name賦值。我們定義對象p2,調用帶一個參數的構造方法測試一下。參數值為字符串“張”。調用outValue方法看一下運行結果。

public class Person2{String name, sex;int age;double height, weight;Person2}

Person2(String n){·€╪ame=n;}

Person2(String n,String s,int a,double h,double w){name=n;sex=s;age=a;height=h;weight=w;public void outValue( ) { System.out.println("姓名:"+name+" 性別:"+sex+" 年齡:"+age+" 身高:"+height+" 體重:"+weight);}

public static void main(String args[]){Person2 p1=new Person2();p1.outValue();Person2 p2=new Person2("zhang");p2.outValue();;Person2 p3=new Person2("王五","男",19,170,50);p3.outValue();}

在第二行運行結果中,姓名值為zhang,其它未賦值的為默認值。

我們用同樣的方法定義第三個構造方法,參數為name和age賦值。數據類型要一一對應。生成對象p3測試一下。調用的構造方法帶兩個參數,看一下運行結果,姓名和年齡,有值,其它為默認值。

運行結果:姓名:null 性別:null 年齡:0 身高:0.0 體重:0.0。 姓名:zhang 性別:null 年齡:0 身高:0.0 體重:0.0。姓名:王五 性別:男 年齡:19 身高:170.0 體重:50.0

3總結反思

回憶一下構造方法的概念,構造方法是專門用于創建對象的方法,構造方法名與類名一致,且無返回值類型。在沒有定義構造方法的類中,有默認的構造方法,所有成員值為默認值。如果顯式定義了構造方法,則默認的構造方法就取消了。下面大家來完成Person類的其他構造方法并測試一下吧。

主站蜘蛛池模板: 精品国产亚洲人成在线| 亚洲中文字幕精品| 国产在线精品香蕉麻豆| 五月婷婷欧美| 国产交换配偶在线视频| 亚洲h视频在线| 天天做天天爱夜夜爽毛片毛片| 国产精品久久久久久搜索| 国产超薄肉色丝袜网站| 国产精品欧美激情| 欧美中文字幕在线视频 | 国产本道久久一区二区三区| 国产欧美视频在线| 在线观看免费国产| 一级毛片在线免费看| 天堂中文在线资源| 国产在线八区| 亚洲精品人成网线在线| 在线欧美日韩| 色网站在线视频| 欧美.成人.综合在线| 国产真实二区一区在线亚洲| 欧美精品不卡| 国产成人啪视频一区二区三区| 亚洲男人的天堂久久精品| 欧美中文字幕第一页线路一| 欧美精品色视频| 亚洲国产中文在线二区三区免| 国产欧美在线| 国产精品亚洲天堂| 男女性午夜福利网站| 九色在线视频导航91| 91精品国产自产在线老师啪l| 成人小视频在线观看免费| www.亚洲天堂| 婷婷色狠狠干| 91成人免费观看| 在线免费a视频| 亚洲大学生视频在线播放| 国产手机在线ΑⅤ片无码观看| 永久免费无码成人网站| 国产精品不卡片视频免费观看| 日韩亚洲综合在线| 综合网天天| 国产福利在线免费| 亚洲成年人片| 波多野结衣视频网站| 国产亚洲精品97在线观看| 欧美日韩精品综合在线一区| 精品国产美女福到在线不卡f| 国内精品久久人妻无码大片高| 日韩AV无码免费一二三区| 亚洲天堂视频网站| 思思热在线视频精品| 国产精品妖精视频| 欧美一级在线| 欧美亚洲激情| 久久香蕉国产线看精品| 亚洲va欧美ⅴa国产va影院| 国内精品小视频福利网址| 午夜欧美理论2019理论| 国产视频一二三区| 午夜毛片福利| 青青久视频| 一级黄色网站在线免费看| 亚洲愉拍一区二区精品| 亚洲一区二区三区国产精品| 日本不卡在线播放| 欧美一区国产| 99国产精品国产| 婷婷六月天激情| AV天堂资源福利在线观看| 亚洲精品国产综合99| 毛片一区二区在线看| 亚洲日本中文综合在线| 蜜芽国产尤物av尤物在线看| 亚洲午夜综合网| 婷婷午夜天| 韩日无码在线不卡| 老司机精品一区在线视频| 欧美一区精品| AV不卡无码免费一区二区三区|