2012-11-30 119 views
0

我正在開發一個應用程序,其中包含2 Tab與Fragment.each Tab類AssetsMapFragmentAssetsListFragment擴展SherlockFragment類,現在我需要擴展MapActivity在這兩個Tab類但不支持Java多繼承。還有另一個接口解決方案,我可以製作接口並用它實現。但是我的MapActivity不是接口,所以我無法做到這一點。所以你能否給我提供一些替代方案來解決這種情況,即我在同一個班級中同時使用兩個班級,這對我有很大的幫助,謝謝。問題與多重繼承

+0

可能是你正在尋找適配器模式... – om39a

+0

能否詳細說明 – user123

+0

請檢查http://stackoverflow.com/a/11341748/1321873 – Rajesh

回答

0

如果可能,儘量像這樣

public class a { 
public static String a="This is a"; 
public static void aDisplay() 
{ 
    System.out.println(a); 
} 
} 
public class b { 
public static String b="This is b"; 
public static void bDisplay() 
{ 
    System.out.println(b); 
} 
} 
public class c extends a { 
public static class d extends b{ 
    public static void main(String args[]){ 
    aDisplay(); 
    bDisplay(); 
    } 
} 
} 

使用和Inner Class概念,我們就可以解決問題。或者以另一種方式,您只需遵循Multilevel Inheritance。

+0

但我怎麼能到這裏MapActivity的實例是問題 – user123

+0

E類擴展了C { \t公共靜態類F的延伸MapActivity { \t \t //你代碼這裏 \t \t //你可以在這裏訪問mapActivity,而無需創建實例 \t \t //這個E類包含A,b和mapActivity所有屬性 \t \t //這類似於多重繼承 \t}} – Ruthreshwar