java編程筆記7 物件導向二

來源:互聯網
上載者:User
2011-03-03 22:37

1,            包的定義 

package必須作為java源檔案的第一條語句: 

package       packagename;

如果省略了package語句,將放入預設包中,預設包沒有名字。包以目錄的形式組織 

 

引入包中的類:import語句

 

java.lang包是java語言的核心類庫,是java程式運行必不可少的系統類別庫,系統會自動引入,不需要使用import再引入。

 

 

2,            類中變數和方法的存取權限

注意:類前面的的許可權修飾符只能是public或者沒有(預設),預設的類只能在本包中使用,public的類可以在所有包中使用。

這裡要說的是類中成員變數和方法的存取權限,它們可以用public,protected,預設,private修飾。

 

存取權限            同一類中            該類的子類        同一包中            其他包

 

public                  可以                    可以                    可以                    可以

protected            可以                    可以                    可以                    子類可以

預設                    可以                    可以                    可以                    不可以(子類也不行)

Private                 可以                    不可以                不可以                不可以

 關於存取權限,http://wenku.baidu.com/view/526b0babd1f34693daef3e83.html總結的相當詳細,已下載下來了,這裡貼不上去

垃圾啊,文章長一點就得分兩次

3,            類的繼承

Class ChildClassextends FatherClass

{

       //繼承父類的部分成員變數和方法,不用重複代碼

       ……擴充的的成員變數或方法

}

規則:

子類和父類在同一個包中:

子類繼承父類中public,protected,友好型(即預設,對本包友好)的成員變數和方法,不能繼承私人的成員變數和方法

子類和父類不在同一個包中:

子類繼承父類的public,protected成員變數和方法,不能繼承私人和友好的成員變數和方法

 

 

覆蓋:指子類擁有跟父類相同的的成員變數或成員方法。

覆蓋可以隱藏父類中的成員變數和方法,覆蓋的目的是通過在子類中重新定義變數和方法來擴充父類的功能,注意這裡的重新定義指的是:傳回型別,名字,參數完全完全相同,只有這樣,才叫做覆蓋了。(父類被遮蓋了),覆蓋方法的存取權限不能比原方法的低。

 

在子類的對象調用的時候,首先看擴充的方法中有沒有,沒有的話才去調用從父類繼承的方法(事實上有了覆蓋之後,被覆蓋的從父類繼承來的方法就看不見了)

 

 

4,            類的多態性

當子類從某個父類繼承來時,可能要修改父類中某個方法的實現方式(覆蓋),當子類的方法被調用時,啟用的是該子類的方法。當方法被不同的對象調用時,產生不同的行為,這就是多態。

 

5,            抽象類別

抽象類別是專門用作其他類的父類來使用的,抽象類別不能建立對象。

包含抽象方法的類叫做抽象類別(可能也含有非抽象方法)

抽象方法指只有聲明沒有具體實現的方法。

 

abstract classClassName

{

       …..

       abstractreturnType method();

       …..

       ….

}

 

6,            介面

interface 介面名

{

       //介面體中的變數和方法

}

 

注意:

1)       interface只能被public修飾或者不修飾,public修飾的可以被任意一個類使用,不修飾的稱為友好介面,只能被本包中類使用。

2)       介面中的變數全部是static常量,即static final的,這是預設的,省略static final也可以。

3)       介面中的方法全部是抽象方法,abstract也可寫可不寫。(只能用public修飾或者預設)

4)       一個類通過關鍵字implements聲明自己使用(實現)一個或多個介面:

class ClassName implements interface1,interface2

{

                     //要實現介面中的所有方法,方法必須和介面中的聲明完全一致

}

5)       介面的繼承:

利用extends,介面也可以繼承另一個介面,文法與類相同,當一個類實現了一個介面,而這個介面繼承了另一個介面時,這個類必須實現所有介面中的方法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.