ПЕРЕОПРЕДЕЛЕНИЕ МЕТОДОВ В JAVA

Переопределение метода: (динамический полиморфизм/полиморфизм времени выполнения)

Объявление метода в дочернем классе, который уже присутствует в родительском классе, называется переопределением метода.

Проще говоря, переопределение означает переопределение функциональности существующего метода.

В этом случае, если мы вызываем метод с объектом дочернего класса, вызывается метод дочернего класса. Чтобы вызвать метод родительского класса, мы должны использовать ключевое слово super .

Давайте посмотрим на практический пример, чтобы лучше понять.

123456789

метод пакетаПереопределение; открытый класс MethodOverridingParentClass {public void myMethod(){System.out.println(“Я метод из родительского класса”);} }

1234567891011121314151617

метод пакетаПереопределение; открытый класс MethodOverridingChildClass extends MethodOverridingParentClass{public void myMethod(){System.out.println(“Я метод из дочернего класса”);}public static void main(String [] args){MethodOverridingChildClass obj = new MethodOverridingChildClass();//Он вызывает метод дочернего класса myMethod()obj.myMethod();}}

Вывод:

1

Я метод из дочернего класса

С методом, переопределяющим дочерний класс может дать свою собственную конкретную реализацию унаследованному методу без изменения метода родительского класса. Если дочерний класс может дать свою собственную реализацию, это помогает

Предположим, у нас есть несколько дочерних классов. Если один из дочерних классов хочет использовать метод родительского класса, а другой класс хочет использовать свою собственную реализацию, мы можем использовать функцию переопределения.

Переопределение метода также известно как полиморфизм времени выполнения. Давайте посмотрим, почему мы называем это полиморфизмом времени выполнения.

1

ParentClass obj = new ChildClass();

Когда ссылка на родительский класс ссылается на объект дочернего класса, вызов переопределенного метода определяется во время выполнения. Поэтому это называется полиморфизмом времени выполнения. Это связано с тем, что во время вызова метода, какой метод (родительский класс или дочерний класс) должен быть выполнен, определяется типом объекта.

Тип объекта определяет, какой метод (родительский класс или дочерний класс) должен быть выполнен. во время вызова метода.

Давайте посмотрим на пример, чтобы лучше понять. webkit-tab-size: 4; tab-size: 4; font-size: 12px! важно; line-height: 15px! важно> метод пакета Overriding; открытый класс MethodOverridingParentClass { public void myMethod(){ System.out.println("Я метод из родительского класса"); } }

123456789

метод пакетаПереопределение; открытый класс MethodOverridingParentClass {public void myMethod(){System.out.println(“Я метод из родительского класса”);} }

123456789101112131415161718192021222324252627

метод пакетаПереопределение; открытый класс MethodOverridingChildClass extends MethodOverridingParentClass{public void myMethod(){System.out.println(“Я метод из дочернего класса”);}public static void main(String [] args){/* Когда ссылка на родительский класс ссылается на объект дочернего класса*, то вызывается метод дочернего класса (метод переопределения).* Это мы называем полиморфизмом времени выполнения*/MethodOverridingParentClass obj = new MethodOverridingChildClass();//Он вызывает метод дочернего класса myMethod()obj.myMethod( );/* Когда ссылка на родительский класс ссылается на объект родительского класса*, вызывается метод родительского класса (переопределенный метод).*/MethodOverridingParentClass obj1 = new MethodOverridingParentClass();obj1.myMethod();}}

Вывод:

12

Я метод из дочернего классаЯ метод из родительского класса

TAG: qa

От QA genius

Adblock
detector