一起Talk Android吧(第十回:Java中的封裝:二)




各位看官們,大傢好,上一回中咱們說的是Java封裝的例子,這一回咱們繼續說該例子。閑話休提, 言歸正轉。讓我們一起Talk Android吧!




看官們,在Java中除瞭類具有封裝功能外,接口也有該功能,接下來我們通過偽代碼來演示接口的封裝功能。


interface A
{
permission type value;
permission type function(); // don't do anything
}

偽代碼中的interface是Java中的關鍵字,它表示接口這種類型。A是接口的名字。位於大括號中的內容就是被接口封裝的內容。和類中的內容相同,它們也是分為兩個部分:



  • 一部分是接口的成員變量;

  • 另外一部分是接口的成員函數;


一般情況下,我們不會在接口中封裝變量,當然瞭,如果有需要,這也是符合語法的。


接口的封裝是比較特殊的,特殊之處在於它封裝的成員變量默認擁有public訪問權限,而且使用瞭finalstatic來修飾,表示它屬於接口的常量。因為是默認添加的,所以我們定義接口的時候不會把這些修飾符加到成員變量前面。此外,成員函數也有默認的規則,那就是使用abstract來修飾成員函數,這樣成員函數就默認為抽象函數。和成員變量一樣,成員函數也默認擁有public訪問權限。不過我們定義接口時經常省略掉abstract這個修飾符。關於默認的訪問權限,雖然語法上默認為public,不加的話也會有同樣的效果,但是我建議定義接口時加上訪問權限比較好。


接口中包含瞭抽象方法,因此,它有點像抽象類,不能用來實例化對象。如果想使用接口,必須實現接口中的抽象函數。我們常用的辦法是,定義一個類,通過類來實現接口中的抽象函數,然後實例化一個類的對象,這樣就能使用接口中的方法瞭。下面我們通過偽代碼來顯示一下這個過程:


interface B
{
publie void func();
};

class C implements B
{
public void func()
{
//do something
};
};

C object = new C();
object.func();

上面的偽代碼中,我們定義瞭接口B,然後定義瞭類C,並且實現瞭接口B,在類C中我們實現瞭接口B中的抽象方法func();最後我們創建瞭類C的對象object,這樣我們就可以使用通過ojbect.func()來使用接口中的方法瞭。


各位看官,關於Java中封裝的例子咱們就介紹到這裡,欲知後面還有什麼例子,且聽下回分解!



0 個評論

要回覆文章請先登錄註冊