2016-07-19 2 views
1

Я следую учебным пособиям по разрешениям YouTube yo во время выполнения. Я создал класс Java под названием AbsRuntimePermission, и я должен расширить его на моем MainActivity. Но мне также нужно расширить AppCompatActivity, есть ли способ расширить оба? Потому что, если я попробовать, что это даст мне ошибку:Как расширить несколько классов в Android Studio?

Class cannot extend multiple classes 

И я пытаюсь так:

public class MainActivity extends AppCompatActivity, AbsRuntimePermission { 

Я надеюсь, что кто-то может помочь мне, я после этого учебника: https://www.youtube.com/watch?v=b0pqDwsCEfs

ответ

1

Вы не можете расширить несколько классов в JAVA.

Вы можете продлить AbsRuntimePermission с AppCompatActivity

и расширить MainActivity с AbsRuntimePermission. Потому что AbsRuntimePermission уже продлен с AppCompatActivity, что означает, что MainActivity также распространяется на AppCompatActivity.

public class AbsRuntimePermission extends AppCompatActivity{ 
} 

public class MainActivity extends AbsRuntimePermission { 
} 
+0

Спасибо, это сработало! – Stackingcoder

1

Множественное наследование не допускается на Java. Вместо этого используйте интерфейсы (реализует ...).

Обновление: На ваш вопрос уже есть ответ: вы можете расширить класс Application в своем абстрактном классе, а затем расширить его своей деятельностью.

+0

Исправить. Кроме того, «имеет» часто лучший дизайн, чем «есть». Подумайте, просто ли ваш класс AvsRuntimePermission просто будет членом вашего класса MainActivity вместо использования наследования. – selbie