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

詳析 java中的構造函數與this關鍵字

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

劉志雄

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

[關鍵詞]構造函數;java;對象;this

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

一、構造函數與this用法實例

用例如下:

class student{

1.int age;

2.String name;

3.student(){

// 5.1 student(age);

4.System.out.println("空構造函數");}

5.student(int age){

6.this();

7.this.age=age;

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

9.student(int age, String name){

10. this(age);

11. this.age=age;

12. this.name=name;

13. this.f();

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

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);}}

程序運行結果如下:

二、構造函數與this一般用法的分析

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

三、this 的特殊用法

接下來分析this在匿名類和內部類中的應用。

用例如下:

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();}}

程序運行結果:

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

四、結語

構造函數:

1.構造函數的定義:方法名與類名相同且沒有返回值。

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

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

this的用法:

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

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

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

參考文獻:

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

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

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

主站蜘蛛池模板: 91精品人妻互换| 99视频国产精品| 国产成人高清在线精品| 有专无码视频| 欧洲av毛片| 日韩精品无码不卡无码| 在线观看免费人成视频色快速| 欧美精品伊人久久| 亚洲欧洲日韩综合| 国产理论精品| 亚洲热线99精品视频| h视频在线播放| 国产一区二区免费播放| 亚洲精品国产日韩无码AV永久免费网| 亚洲欧美不卡| 国产一区二区精品高清在线观看| 久久6免费视频| 国产va免费精品| 国产成人精品综合| 欧美亚洲一区二区三区在线| 国产精品视频公开费视频| 自拍中文字幕| 中文字幕人妻av一区二区| 国产成人久久777777| 国产在线无码一区二区三区| 国产精品一线天| 欧美国产日韩在线观看| 亚洲婷婷六月| 天天激情综合| 大乳丰满人妻中文字幕日本| 国产天天色| 好紧太爽了视频免费无码| 日本午夜网站| 亚洲免费播放| 国产第八页| 国产全黄a一级毛片| 曰韩人妻一区二区三区| 91免费国产在线观看尤物| 亚洲人成在线免费观看| 免费观看欧美性一级| 国产欧美专区在线观看| 久久青草精品一区二区三区 | 国产成人AV大片大片在线播放 | 伊人国产无码高清视频| 国产自在线播放| 亚洲免费三区| 中国黄色一级视频| 亚洲欧美极品| 亚洲av无码片一区二区三区| av尤物免费在线观看| 亚洲一区二区三区国产精华液| 国产国模一区二区三区四区| 男人的天堂久久精品激情| 毛片国产精品完整版| av午夜福利一片免费看| 亚洲欧美日韩成人在线| 91久久偷偷做嫩草影院免费看 | 99精品国产高清一区二区| 亚洲精品无码日韩国产不卡| 操美女免费网站| 久久黄色小视频| 91麻豆国产精品91久久久| 亚洲中文在线看视频一区| 久久黄色一级视频| 成人噜噜噜视频在线观看| 久久人人妻人人爽人人卡片av| 九九这里只有精品视频| 青青久视频| 激情综合婷婷丁香五月尤物| 国产成人精品18| 久热这里只有精品6| 亚洲成人77777| 国产午夜不卡| 免费啪啪网址| 极品私人尤物在线精品首页| 啦啦啦网站在线观看a毛片| 久操线在视频在线观看| 久久动漫精品| 亚洲性日韩精品一区二区| 国产91九色在线播放| 亚洲欧美日韩另类| 欧美精品在线看|