Предисловие
Java-это объектно-ориентированный язык. Каждый, кто узнал Java, знает, что инкапсуляция, наследование и полиморфизм являются тремя характеристиками объектно-ориентированного. Когда все только что научились наследию, у них было бы более или менее впечатление, что наследство может помочь мне реализовать повторное использование класса. Следовательно, многие разработчики, естественно, будут использовать наследство класса, когда им необходимо повторно использовать какой -то код, потому что это то, что написана книга (это то, чему учит учитель). Тем не менее, на самом деле это неправильно. Долгосрочное крупномасштабное использование наследования принесет высокие затраты на техническое обслуживание в коде.
На самом деле, когда я впервые выучил Java, я никогда не слышал о комбинации термина, и учитель никогда не объяснял ее. Я всегда думал, что потерял некоторые знания, но это не так. Комбинация термина должна быть определена как мыслительная вещь на данный момент. Я считаю, что читатели вступили в контакт с этим, но я не знаю, что у него есть это имя.
Фактически, так называемая комбинация состоит в том, чтобы создать новый класс для названия созданного и отладки класса, поэтому этот новый класс можно назвать комбинацией
Например, я создаю людей
Public Class People {Private String Name; частный int возраст; public void setName (String name) {this.name = name; } public String getName () {return this.name; } public int getage () {return this.age; } public void setage (int age) {this.age = age; }} Тогда я хочу использовать этот класс сейчас. Я могу добавить несколько новых функций в этот класс. В настоящее время мы можем создать новый класс, а затем создать объект людей в этом классе.
Например, сейчас я создаю класс под названием студент
Класс Студент {People = New People ();} Затем вы можете добавить некоторые атрибуты в этот класс, такие как определение личности как студента, о которой я не буду здесь обсуждать.
Далее, давайте посмотрим на наследство. На самом деле, наследование и комбинация похожи. Давайте сначала посмотрим на то, как это унаследовано.
В Java есть ключевое слово, называемое Extends, которое может помочь нам унаследовать. Мы называем наследственный класс родительского класса, базовый класс, супер -класс и наследники - все в порядке, и мы называем подкласс «Наследний» или полученный класс и т. Д.
Здесь мы определяем класс
студент открытого класса расширяет людей {// dosomething} Таким образом, класс наследует все методы членов и переменные члена родительского класса, но обратите внимание, что поля или методы, объявленные как частное разрешение, не будут унаследованы.
Чтобы доказать это, мы пишем метод в классе учеников
public String re () {return this.name;}Здесь компилятор сообщит об ошибке «People.Name не видно». Отсюда мы видим, что поля или методы, объявленные частными, не могут быть унаследованы. Если вы хотите унаследовать его, вы можете изменить частную связь на защиту. Таким образом, мы можем плавно унаследовать поле имени плавно.
Таким образом, мы инициализируем все поля у людей, просто добавляем этот блок кода в код.
{this.age = 10; this.name = "Zhangsan";}Далее объявите этого студента в основной функции
Студент студент = новый студент (); System.out.println (Student.getage ());
Теперь мы были удивлены, обнаружив, что этот метод письма возможна. Хотя мы не объявляли никаких областей и методов в подклассе, мы все равно можем назвать Getage (); и мы можем распечатать 10 плавно
Это связано с тем, что мы не перегружаем какой -либо метод в подклассе, поэтому мы называем родительский класс Getage, поэтому мы можем легко получить доступ к полям, объявленным родительским классом Private.
Прочитав их, я считаю, что у всех есть предварительное понимание наследования. Итак, в механизме наследования, как называются методы строительства каждого класса? Ответ состоит в том, чтобы вызвать их в последовательности от родительского класса до ребенка.
При демонстрации я сначала объявляю три класса Temp1, Temp2 и Temp3. В то же время Temp3 наследует от Temp2, а Temp2 наследует от Temp1. Таким образом, мы поместили печатное заявление в методах строительства каждого класса.
//Temp1system.out.println("i'm temp1 "); // temp2system.out.println (" It temp2 "); // temp3system.out.println (" It Temp3 "); Ради удобства я написал это здесь, но каждый должен обратить внимание на тот факт, что они помещаются в методы строительства каждой категории.
Мы создаем объект Temp3 в основной функции
открытый класс mian {public static void main (string [] args) {temp3 temp3 = new temp3 (); }}Мы посмотрели на консоли и напечатали ее
я temp1i'm temp2i'm temp3
Из этого мы можем видеть, что нам нужно сначала создать объект Temp3, найти ключевое слово Extends, затем следить за цепочкой наследования, найти Temp2 и найти ключевое слово Extends, затем найти Temp1, затем вызовать конструктор Temp1, а затем вызовать одно за другим.
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи поможет вашему обучению или работе. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения.