頻道欄目
首頁 > 資訊 > JAVA > 正文

2014年計算機二級JAVA考點解析:Java程序設計基礎5

14-04-18        來源:[db:作者]  
收藏   我要投稿

  3.5this和super

  訪問一個類的實例變量時,this關鍵詞是指向這個類本身的指針,在前面ClassOne例子中,我們可以增加構造函數如下:

  publicclassClassOne{inti;publicClassOne(){i=10;}

  publicClassOne(intvalue)this.i=value;}

  publicvoidAdd_i(intj){i=i+j;}}

  這里,this指向ClassOne類的指針。如果在一個子類里覆蓋了父類的某個成員函數,但又想調用父類的成員函數,你可以用super關鍵詞指向父類的成員函數。

  importClassOne;publicclassNewClassextendsClassOne{publicvoidAdd_i(intj){i=i+(j/2);super.Add_i(j);}}

  下面程序里,i變量被構造函數設成10,然后15,最后被父類(ClassOne)設成25。NewClassmnc;mnc=newNewClass();mnc.Add_i(10);

  3.6類的類型

  至今為止,我用在類前面只用了一個public關鍵詞,其實它有下面4種選擇:abstract一個abstract類必須至少有一個虛擬函數,一個abstract類不能直接創建對象,必須繼承子類后才能。

  final一個final類聲明了子類鏈的結尾,用final聲明的類不能再派生子類。publicpublic類能被其它的類訪問。在其它包里,如果想使用這個類必須先import,則它只能在它定義的package里使用。synchronicable這個類標識表示所有?copy;類的成員函數都是同步的。

  3.7抽象類

  面向對象的一個最大優點就是能夠定義怎樣使用這個類而不必真正定義好成員函數。如果程序由不同的用戶實現時是很有用的,這不需用戶使用相同的成員函數名。

  在java里Graphics類里一個abstract類的例子如下:publicabstractclassGraphics{publicabstractvoiddrawLine(intx1,inty1,intx2,inty2);publicabstractvoiddrawOval(intx,inty,intwidth,intheight);publicabstractvoiddrawRect(intx,inty,intwidth,intheight);...}

  在Graphics類里聲明了幾個成員函數,但成員函數的實際代碼是在另外一?copy;地方實現的。

  publicclassMyClassextendsGraphics{publicvoiddrawLine(intx1,inty1,intx2,inty2){}}

  當一個類包含一個abstract成員函數,這個類必須定義為abstract類。然而并不是abstract類的所有的成員函數都是abstract的。Abstract類不能有私有成員函數(它們不能被實現),也不能有靜態成員函數。

相關TAG標簽
上一篇:臺積電:絕大多數7nm客戶都會轉向6nm_IT新聞_博客園
下一篇:最后一頁
相關文章
圖文推薦

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

美女MM131爽爽爽毛片