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

詳析 java中的構(gòu)造函數(shù)與this關(guān)鍵字

2018-01-15 21:25:17劉志雄
世紀之星·交流版 2017年8期

劉志雄

[摘 要]java中的構(gòu)造函數(shù)與this在程序當中起著非常重要的作用:構(gòu)造函數(shù)主要用來完成對對象屬性的初始化工作;this的作用類似于C語言里的指針。本文將結(jié)合簡單實例對構(gòu)造函數(shù)與this的一般用法與特殊用法進行詳細分析。

[關(guān)鍵詞]構(gòu)造函數(shù);java;對象;this

在一個類中,如果定義了與成員變量同名的形式參數(shù),要區(qū)分到底是成員變量還是形式參數(shù),通過this來進行區(qū)分。在Java的學習當中,this關(guān)鍵字起著指針的作用,用來指示成員變量與成員方法還有構(gòu)造函數(shù)。在已有的文獻當中分析構(gòu)造函數(shù)與this的用法時,用例和分析過于復雜,下面用簡單實例來全面分析構(gòu)造函數(shù)與this的用法。

一、構(gòu)造函數(shù)與this用法實例

用例如下:

class student{

1.int age;

2.String name;

3.student(){

// 5.1 student(age);

4.System.out.println("空構(gòu)造函數(shù)");}

5.student(int age){

6.this();

7.this.age=age;

8.System.out.println("帶一個形參的構(gòu)造函數(shù)"); }

9.student(int age, String name){

10. this(age);

11. this.age=age;

12. this.name=name;

13. this.f();

14. System.out.println("帶兩個形參的構(gòu)造函數(shù)"); }

15. void f(){

16. //this();

17. System.out.println("成員方法"); }

18.public static void main(String[] args){

19. student a1=new student();

20. student a2=new student(20,"小軍");

21. System.out.println("年齡"+a2.age+"名字"+a2.name);}}

程序運行結(jié)果如下:

二、構(gòu)造函數(shù)與this一般用法的分析

第3行.5行.9 行是定義student類的構(gòu)造函數(shù),第6行.10行是用this來調(diào)用構(gòu)造函數(shù);另外,構(gòu)造函數(shù)不能相互調(diào)用:如第5.1行與第6行。第7行.11行.12行是this用來指示成員變量,使用this.age, this.name來指示成員變量。第13行表示在構(gòu)造函數(shù)中調(diào)用了成員方法f()。第19行與第20行是創(chuàng)建了兩個對象,實際是運行了空構(gòu)造函數(shù)與帶兩個形參的構(gòu)造函數(shù)。如果程序中保留第19行與第20行時,必須把空構(gòu)造函數(shù)寫出來。程序的第21行是對對象a2的屬性值的輸出。

三、this 的特殊用法

接下來分析this在匿名類和內(nèi)部類中的應(yīng)用。

用例如下:

1.public class animal {

2.animal(){

3.Thread thread = new Thread(){

4.public void run() {

5.animal.this.run(); } }; //注意這里有分號

6.thread.start(); }

7.public void run() {

9.System.out.println("我是成員方法run ");}

10. public static void main(String[] args) {

11. animal as=new animal();}}

程序運行結(jié)果:

在上述實例中,thread是一個匿名類對象,run函數(shù)體內(nèi)調(diào)用到了外部類animal的run函數(shù)。由于函數(shù)同名,不可直接調(diào)用:一是把外部類的run函數(shù)換一個名字如outrun,代碼第5行改成animal.outrun(); 第7行public void run()改成public static void outrun()但這種方法不建議使用。二是用上面例子中的辦法,用外部類的類名加上this引用來說明要調(diào)用的是外部類的方法run。

四、結(jié)語

構(gòu)造函數(shù):

1.構(gòu)造函數(shù)的定義:方法名與類名相同且沒有返回值。

2.構(gòu)造函數(shù)的作用是對象屬性的初始化,如程序中的第20行,依據(jù)參數(shù)傳遞分析知,20是對age的賦值,“小軍”是對name的賦值。

3.空構(gòu)造函數(shù)可隨類的加載自動調(diào)用,但創(chuàng)建對象時,空構(gòu)造函數(shù)與帶參數(shù)的構(gòu)造函數(shù)都用上了,這時空構(gòu)造函數(shù)就必須顯性的寫出來即程序代碼中的第3行。

this的用法:

1.this.變量名:用來指示成員變量,即代碼中的第7行.1行1.12行,如this.age=age,等號后面的age構(gòu)造函數(shù)中括號里的age, this.age中的age是指的成員變量。

2.this.方法名():用來指示成員方法,如代碼中的this.f(),指的f()方法是成員方法。

3.this():這種格式的代碼是用來指調(diào)用構(gòu)造函數(shù),如果括號里帶了參數(shù),指的是調(diào)用帶參數(shù)的構(gòu)造函數(shù),如代碼this(age),指的是調(diào)用帶age參數(shù)的構(gòu)造函數(shù)。

參考文獻:

[1]唐明虎.基于項目任務(wù)驅(qū)動的Java語言教學模式研究[J].智能計算機與應(yīng)用,2010,01.

[2] 安博教育集團,Java核心技術(shù)[M].北京:電子工業(yè)出版社,2012.

基金項目:湖南省教育科學“十三五”規(guī)劃2017年度課題:XJK17BGD083 。endprint

主站蜘蛛池模板: 国产成人a毛片在线| 亚洲AV人人澡人人双人| 日韩精品免费在线视频| 国产午夜无码片在线观看网站| 国产高潮视频在线观看| 久久婷婷综合色一区二区| 国产白丝av| 欧美另类视频一区二区三区| 在线高清亚洲精品二区| 91人人妻人人做人人爽男同| 日韩欧美国产综合| 中文字幕乱妇无码AV在线| 欧美精品v欧洲精品| 1769国产精品视频免费观看| 亚洲视频一区在线| 亚洲一区毛片| 又黄又湿又爽的视频| 国产香蕉一区二区在线网站| 无码高潮喷水在线观看| AV熟女乱| 亚洲人成人伊人成综合网无码| 在线精品亚洲国产| 国产精品免费入口视频| JIZZ亚洲国产| 国产精品人人做人人爽人人添| 中文字幕有乳无码| 日韩第一页在线| 国产女人水多毛片18| 狠狠色噜噜狠狠狠狠色综合久| 在线观看精品自拍视频| 亚洲国产天堂在线观看| 日韩成人午夜| 在线视频精品一区| 国产在线精品人成导航| 四虎成人精品在永久免费| 内射人妻无码色AV天堂| 四虎亚洲精品| 亚洲人成电影在线播放| 免费在线一区| 成人欧美日韩| 日韩欧美中文字幕在线韩免费| 国产精品美人久久久久久AV| 国产精品午夜福利麻豆| 玖玖免费视频在线观看| 日韩欧美成人高清在线观看| 真实国产乱子伦视频| 素人激情视频福利| 爆乳熟妇一区二区三区| 欧美高清国产| 久操中文在线| 欧美日韩福利| 一区二区三区国产精品视频| 亚洲国产清纯| 在线国产91| 国产激情无码一区二区免费| 人妻丰满熟妇AV无码区| 国产欧美日韩免费| 欧美色99| 伊人查蕉在线观看国产精品| 四虎影视无码永久免费观看| 欧美精品亚洲精品日韩专| 国产一线在线| 在线观看免费AV网| 亚洲最猛黑人xxxx黑人猛交 | 欧美在线国产| 乱系列中文字幕在线视频| 久996视频精品免费观看| 色综合天天操| 欧美亚洲香蕉| 5555国产在线观看| 亚瑟天堂久久一区二区影院| 69av在线| 国产免费久久精品99re不卡 | 精品无码国产自产野外拍在线| 国产精品无码久久久久久| 国产一区二区三区在线观看免费| 72种姿势欧美久久久大黄蕉| 国产一区自拍视频| 亚洲国产成人在线| 在线国产毛片手机小视频| 自拍亚洲欧美精品| 2024av在线无码中文最新|