BOOKJAVA Telegram 3947
В чем разница между перегрузкой метода и переопределением метода в Java?

🧠 Перегрузка метода (Method Overloading)
Это когда в одном классе есть методы с одинаковым именем, но разными сигнатурами (количеством или типами параметров).

* Компилятор выбирает метод на этапе compile-time.
* Можно менять:

* количество параметров
* тип параметров
* порядок параметров
* Нельзя перегружать метод, меняя только возвращаемый тип.

💡 Пример:


public class MathUtil {
public int sum(int a, int b) { return a + b; }
public double sum(double a, double b) { return a + b; }
public int sum(int a, int b, int c) { return a + b + c; }
}



🧠 Переопределение метода (Method Overriding)
Это когда в классе-наследнике мы заново реализуем метод, который уже определён в родительском классе или интерфейсе.

* Определяется на этапе runtime (динамический полиморфизм).
* Сигнатура метода должна быть та же (имя, параметры, порядок, типы).
* Возвращаемый тип может быть ковариантным (подтипом оригинального).
* Доступ не может быть строже, чем у родительского метода.
* Метод родителя должен быть public / protected (не private).
* Для обязательности переопределения используют @Override.

💡 Пример:


class Animal {
public void makeSound() {
System.out.println("Some sound");
}
}

class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Woof!");
}
}


👉 @BookJava
👍3



tgoop.com/BookJava/3947
Create:
Last Update:

В чем разница между перегрузкой метода и переопределением метода в Java?

🧠 Перегрузка метода (Method Overloading)
Это когда в одном классе есть методы с одинаковым именем, но разными сигнатурами (количеством или типами параметров).

* Компилятор выбирает метод на этапе compile-time.
* Можно менять:

* количество параметров
* тип параметров
* порядок параметров
* Нельзя перегружать метод, меняя только возвращаемый тип.

💡 Пример:


public class MathUtil {
public int sum(int a, int b) { return a + b; }
public double sum(double a, double b) { return a + b; }
public int sum(int a, int b, int c) { return a + b + c; }
}



🧠 Переопределение метода (Method Overriding)
Это когда в классе-наследнике мы заново реализуем метод, который уже определён в родительском классе или интерфейсе.

* Определяется на этапе runtime (динамический полиморфизм).
* Сигнатура метода должна быть та же (имя, параметры, порядок, типы).
* Возвращаемый тип может быть ковариантным (подтипом оригинального).
* Доступ не может быть строже, чем у родительского метода.
* Метод родителя должен быть public / protected (не private).
* Для обязательности переопределения используют @Override.

💡 Пример:


class Animal {
public void makeSound() {
System.out.println("Some sound");
}
}

class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Woof!");
}
}


👉 @BookJava

BY Библиотека Java разработчика


Share with your friend now:
tgoop.com/BookJava/3947

View MORE
Open in Telegram


Telegram News

Date: |

Matt Hussey, editorial director of NEAR Protocol (and former editor-in-chief of Decrypt) responded to the news of the Telegram group with “#meIRL.” A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. Polls How to build a private or public channel on Telegram? How to Create a Private or Public Channel on Telegram?
from us


Telegram Библиотека Java разработчика
FROM American