亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

this關鍵字

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

  假如有兩個同類型的對象,分別叫作a和b,那么您也許不知道如何為這兩個對象同時調用一個f()方法:
  class Banana { void f(int i) { /* ... */ } }
  Banana a = new Banana(), b = new Banana();
  a.f(1);
  b.f(2);
    若只有一個名叫f()的方法,它怎樣才能知道自己是為a還是為b調用的呢?
    為了能用簡便的、面向對象的語法來書寫代碼——亦即“將消息發給對象”,編譯器為我們完成了一些幕后工作。其中的秘密就是第一個自變量傳遞給方法f(),而且那個自變量是預備操作的那個對象的句柄。所以前述的兩個方法調用就變成了下面這樣的形式:
  Banana.f(a,1);
  Banana.f(b,2);
    這是內部的表達形式,我們并不能這樣書寫表達式,并試圖讓編譯器接受它。但是,通過它可理解幕后到底發生了什么事情。
    假定我們在一個方法的內部,并希望獲得當前對象的句柄。由于那個句柄是由編譯器“秘密”傳遞的,所以沒有標識符可用。然而,針對這一目的有個專用的要害字:this。this要害字(注重只能在方法內部使用)可為已調用了其方法的那個對象生成相應的句柄??上髮Υ渌魏螌ο缶浔粯訉Υ@個句柄。但要注重,假若預備從自己某個類的另一個方法內部調用一個類方法,就不必使用this。只需簡單地調用那個方法即可。當前的this句柄會自動應用于其他方法。所以我們能使用下面這樣的代碼:
  class APRicot {
  void pick() { /* ... */ }
  void pit() { pick(); /* ... */ }
  }
    在pit()內部,我們可以說this.pick(),但事實上無此必要。編譯器能幫我們自動完成。this要害字只能用于那些非凡的類——需明確使用當前對象的句柄。例如,假若您希望將句柄返回給當前對象,那么它經常在return語句中使用。
    由于increment()通過this要害字返回當前對象的句柄,所以可以方便地對同一個對象執行多項操作。
  1. 在構建器里調用構建器
    若為一個類寫了多個構建器,那么經常都需要在一個構建器里調用另一個構建器,以避免寫重復的代碼??捎胻his要害字做到這一點。
  通常,當我們說this的時候,都是指“這個對象”或者“當前對象”。而且它本身會產生當前對象的一個句柄。在一個構建器中,若為其賦予一個自變量列表,那么this要害字會具有不同的含義:它會對與那個自變量列表相符的構建器進行明確的調用。這樣一來,我們就可通過一條直接的途徑來調用其他構建器。如下所示:
    其中,構建器Flower(String s,int petals)向我們揭示出這樣一個問題:盡管可用this調用一個構建器,但不可調用兩個。除此以外,構建器調用必須是我們做的第一件事情,否則會收到編譯程序的報錯信息。
    這個例子也向大家展示了this的另一項用途。由于自變量s的名字以及成員數據s的名字是相同的,所以會出現混淆。為解決這個問題,可用this.s來引用成員數據。經常都會在java代碼里看到這種形式的應用,本書的大量地方也采用了這種做法。
  在print()中,我們發現編譯器不讓我們從除了一個構建器之外的其他任何方法內部調用一個構建器。
  2. static的含義
    理解了this要害字后,我們可更完整地理解static(靜態)方法的含義。它意味著一個特定的方法沒有this。我們不可從一個static方法內部發出對非static方法的調用(注釋②),盡管反過來說是可以的。而且在沒有任何對象的前提下,我們可針對類本身發出對一個static方法的調用。事實上,那正是static方法最基本的意義。它就好象我們創建一個全局函數的等價物(在C語言中)。除了全局函數不答應在Java中使用以外,若將一個static方法置入一個類的內部,它就可以訪問其他static方法以及static字段。
   ?、冢河锌赡馨l出這類調用的一種情況是我們將一個對象句柄傳到static方法內部。隨后,通過句柄(此時實際是this),我們可調用非static方法,并訪問非static字段。但一般地,假如真的想要這樣做,只要制作一個普通的、非static方法即可。
    有些人抱怨static方法并不是“面向對象”的,因為它們具有全局函數的某些特點;利用static方法,我們不必向對象發送一條消息,因為不存在this。這可能是一個清楚的自變量,若您發現自己使用了大量靜態方法,就應重新思考自己的策略。然而,static的概念是非常實用的,許多時候都需要用到它。所以至于它們是否真的“面向對象”,應該留給理論家去討論。事實上,即使Smalltalk在自己的“類方法”里也有類似于static的東西。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频欧洲视频| 亚洲香蕉成人av网站在线观看| 亚洲另类激情图| 亚洲精品福利免费在线观看| 欧美电影免费看| 中文字幕欧美视频在线| 欧美福利视频在线| 久久精品视频在线播放| 国产精品美女视频网站| 午夜免费久久久久| 国产精品男人爽免费视频1| 亚洲国产精彩中文乱码av在线播放| 亚洲欧美视频在线| 黑人巨大精品欧美一区免费视频| 欧美日韩亚洲系列| 精品久久久国产精品999| 欧美日韩成人网| 欧美极品少妇全裸体| 亚洲女同性videos| 4438全国成人免费| 亚洲男人天堂九九视频| 国产综合在线看| 亚洲国产精品成人av| 国产精品第一页在线| 亚洲天堂久久av| 亚洲无线码在线一区观看| 精品国产一区二区在线| 欧美自拍大量在线观看| 午夜精品久久久久久久99热| 日韩在线欧美在线国产在线| 成人欧美一区二区三区黑人孕妇| 国产香蕉一区二区三区在线视频| 国产欧美日韩免费看aⅴ视频| 国产在线观看一区二区三区| 影音先锋日韩有码| 国产成人91久久精品| 欧美成人免费一级人片100| 午夜欧美不卡精品aaaaa| 亚洲最大福利视频| 亚洲黄色在线观看| 亚洲国产私拍精品国模在线观看| 亚洲男人天堂网站| 日本久久中文字幕| 国产精品v片在线观看不卡| 欧美精品激情视频| 狠狠久久亚洲欧美专区| 亚洲精品一区二区三区婷婷月| 91精品国产91| 欧美激情一二区| 日本免费久久高清视频| 欧美理论片在线观看| 91精品国产电影| 一个人www欧美| 国产午夜精品一区理论片飘花| 久久精品视频播放| 久久精品男人天堂| 亚洲第一区中文字幕| 日韩在线观看免费全集电视剧网站| 中文字幕精品在线视频| 美女扒开尿口让男人操亚洲视频网站| 欧美在线视频网站| 亚洲电影免费观看高清完整版在线| 欧美电影在线播放| 亚洲一区二区三区视频播放| 高清一区二区三区日本久| 国产精品久久久久秋霞鲁丝| 精品国产乱码久久久久久天美| 国产丝袜高跟一区| 欧美夫妻性生活视频| 欧美成人激情在线| 欧美激情免费看| 91久久久久久久久久久| 懂色av一区二区三区| 精品日韩美女的视频高清| 欧美大尺度在线观看| 欧美激情精品久久久久久大尺度| 久久久久久久久久久久av| 免费97视频在线精品国自产拍| 久久激情视频免费观看| 伊人伊成久久人综合网站| 亚洲男人7777| 欧美成人激情在线| 精品毛片三在线观看| 欧美xxxx做受欧美| 国产中文字幕91| 日韩av在线一区二区| 亚洲欧洲在线观看| 国产精品无av码在线观看| 黄色成人在线播放| 亚洲精品视频二区| 91精品久久久久久久久久久久久| 欧美成人久久久| 国产美女久久精品香蕉69| 久久成人综合视频| 国产精品人人做人人爽| 国产精品美女主播在线观看纯欲| 欧美精品免费在线观看| 国产精品第七影院| 91国产美女在线观看| 欧美一区二区三区免费视| 欧美日韩成人免费| 久色乳综合思思在线视频| 日av在线播放中文不卡| 亚洲精品国产精品乱码不99按摩| 欧美高清视频在线观看| 亚洲成人精品久久| 亚洲日韩欧美视频| 一区二区三区回区在观看免费视频| 777精品视频| 欧美精品videossex88| 曰本色欧美视频在线| 欧美精品18videos性欧美| 91九色精品视频| 国产精品wwwwww| 在线电影欧美日韩一区二区私密| 国产精品ⅴa在线观看h| 国产成人在线视频| 亚洲欧美激情四射在线日| 国产精品久久久久久亚洲调教| 日韩69视频在线观看| 久久777国产线看观看精品| 永久免费精品影视网站| 久久久久久中文| 精品高清美女精品国产区| 亚洲精品99久久久久| 精品国产一区二区三区久久| 午夜精品国产精品大乳美女| 欧美高清视频免费观看| 国产亚洲欧美aaaa| 精品日韩视频在线观看| 91亚洲精品一区二区| 在线成人激情视频| 日韩欧美综合在线视频| 欧美精品久久久久久久久| 麻豆一区二区在线观看| 亚洲第一福利在线观看| 亚洲亚裔videos黑人hd| 欧美老女人在线视频| 97精品欧美一区二区三区| 色偷偷亚洲男人天堂| 欧美美最猛性xxxxxx| 日韩在线免费视频| 国产精品九九九| 一区二区三区久久精品| 国产在线视频2019最新视频| 亚洲黄色在线看| 日韩高清人体午夜| 亚洲人永久免费| 秋霞午夜一区二区| 日本久久中文字幕| 92福利视频午夜1000合集在线观看| 久久成人综合视频| 91亚洲va在线va天堂va国| 精品视频久久久久久久| 亚洲黄色在线看| 国产一区二区三区在线免费观看| 日韩综合视频在线观看| 中文字幕日韩视频| 久久久噜噜噜久久中文字免| 亚洲自拍偷拍色片视频| 青青草原成人在线视频| 激情久久av一区av二区av三区| 色综合久久88色综合天天看泰| 久久激情五月丁香伊人|