2010-07-13 71 views
0

我遇到了兩個類和一個普通類之間的繼承問題。下面是我的例子:Android/Java抽象類繼承問題

抽象類A function get_name();

摘要ClassB的延伸ClassA的

ClassC延伸ClassB的

現在,當我創建ClassC的目的,我無法訪問GET_NAME()函數。我不確定我在這裏做錯了什麼。任何幫助將非常感謝!

+0

我把一個簡單的測試用例放在一起,它在包範圍訪問中工作正常。你能提供源代碼,或者至少是失敗的消息和/或失敗的指令是什麼? – fadden 2010-07-13 19:42:48

回答

3

get_name()必須是ClassC或ClassB的受保護或公共函數才能訪問它。

如果您沒有在ClassA中聲明的這些參數之一,則只有ClassA能夠使用get_name();

public class ClassA 
{ 
    protected CharSequence get_name() 
    { 
     return "ClassA"; 
    } 
} 

想想看,它並沒有多大意義,有一個抽象的私有函數,因爲沒有其他對象將永遠能夠實現它或訪問它。

+2

沒有一個字在前面它是封裝非私人 – bwawok 2010-07-13 02:11:09