Когда мы готовимся к написанию класса, мы обнаруживаем, что определенный класс имеет необходимые нам переменные-члены и методы. Если мы хотим повторно использовать переменные-члены и методы в этом классе, нам не нужно объявлять переменные-члены и определения в классе. class, который мы пишем. Метод эквивалентен наличию этой переменной-члена и метода, тогда мы можем определить класс, который мы пишем, как подкласс этого класса.
Наследование — это механизм создания новых классов из существующих классов. Используя наследование, мы можем сначала определить общий класс с общими атрибутами, а затем определить подкласс со специальными атрибутами на основе общего класса. и поведения, а также добавлять свои собственные новые свойства и поведения по мере необходимости. Класс, полученный путем наследования, называется подклассом, а унаследованный класс — родительским классом (суперклассом).
Уведомление:
Java не поддерживает множественное наследование, то есть подкласс может иметь только один родительский класс. Люди привыкли называть отношения между подклассом и родительским классом отношением «есть-а».
В объявлении класса подкласс класса определяется с помощью ключевого слова расширяется. Общий формат:
имя подкласса класса расширяет имя родительского класса {…}
Например:
classStudentextendsPeople{…}
Определите класс Student как подкласс класса People, а класс People — это родительский класс (суперкласс) класса Student.
Структура дерева классов:
Если C является подтипом B, а B — подтипом A, принято называть C потомком A. Классы Java образуют древовидную структуру в соответствии с отношениями наследования (представьте себе классы как узлы дерева. В этой древовидной структуре корневым узлом является класс Object (Object — это класс в пакете java.lang), то есть Object). является классом-предком всех классов. Любой класс является потомком класса Object. Каждый класс (кроме класса Object) имеет один и только один родительский класс. Класс может иметь несколько или ноль подклассов.
Уведомление:
Если ключевое слово «extensions» не используется в объявлении класса (кроме класса Object), система по умолчанию присваивает этому классу подкласс Object. Например: объявление класса «класс A» эквивалентно «класс A расширяет объект».