2016-07-19 9 views
1

Ich verfolge ein Tutorial auf YouTube yo Anfrage Berechtigungen zur Laufzeit. Ich habe eine Java-Klasse namens AbsRuntimePermission erstellt und muss sie auf meiner MainActivity erweitern. Aber ich muss auch AppCompatActivity erweitern, gibt es eine Möglichkeit, beide zu erweitern? Denn wenn ich versuche, dass es mir einen Fehler geben wird:Wie erweitere ich mehrere Klassen in Android Studio?

Class cannot extend multiple classes 

Und ich versuche, wie folgt aus: kann mir helfen

public class MainActivity extends AppCompatActivity, AbsRuntimePermission { 

Ich hoffe, jemand verfolge ich dieses Tutorial: https://www.youtube.com/watch?v=b0pqDwsCEfs

Antwort

1

Sie können nicht mehr als eine Klasse in JAVA erweitern.

Sie können AbsRuntimePermission mit AppCompatActivity

erweitern und MainActivity mit AbsRuntimePermission verlängern. Denn AbsRuntimePermission ist bereits um AppCompatActivity erweitert, was bedeutet, dass MainActivity auch mit AppCompatActivity erweitert wird.

public class AbsRuntimePermission extends AppCompatActivity{ 
} 

public class MainActivity extends AbsRuntimePermission { 
} 
+0

Danke das hat funktioniert! – Stackingcoder

1

Mehrfachvererbung ist in Java nicht zulässig. Benutze stattdessen Schnittstellen (implementiert ...).

Update: Es gibt bereits eine Antwort zu Ihrem speziellen Problem: Sie können die Application-Klasse in Ihrer abstrakten Klasse erweitern und dann um Ihre Aktivität erweitern.

+0

Korrekt. Auch "hat ein" ist oft ein besseres Design als "ist ein". Erwägen Sie, dass Ihre AvsRuntimePermission-Klasse nur ein Mitglied Ihrer MainActivity-Klasse ist, anstatt die Vererbung zu verwenden. – selbie

Verwandte Themen