В чем разница между MainActivity и Activity

«В чем разница между MainActivity и Activity» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

MainActivity — это просто стандартное имя для главной активности в Android-приложении, но технически это обычный класс, наследуемый от Activity. Разницы в функциональности нет, отличие только в семантике:

  • Activity — базовый класс для всех активностей.
  • MainActivity — частный случай, обычно точка входа в приложение (указана в манифесте с <intent-filter>).

Пример:

class MainActivity : AppCompatActivity() {  
    override fun onCreate(savedInstanceState: Bundle?) {  
        super.onCreate(savedInstanceState)  
        setContentView(R.layout.activity_main)  
    }  
}  

Можно переименовать MainActivity во что угодно — поведение не изменится.