/ / Java претоварване и презареждане - java

Java претоварване и преодоляване -

Да предположим, че имам два метода в клас

public void eat(int i,String s) и

public void eat(String s, int i)

тогава какво е то. Претоварване или отмяна?

Отговори:

10 за отговор № 1

Претоварването означава два или повече метода ссъщото име, но с различни параметри, точно като вашия пример. Докато преодолявате, прилагате метод от интерфейс или абстрактна класа, така че методът в супер класа има реализация и в подкласа има различен, все пак те имат същото име на метод и параметри.


6 за отговор № 2

Това би било претоварване на метода, тъй като отговаря на условията за претоварване на метода:

  • Трябва да има различни списъци с аргументи
  • Може да има различни видове връщане, ако списъците с аргументи също са различни
  • Може да има различни модификатори за достъп
  • Може да хвърля различни изключения

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


6 за отговор № 3

Това е претоварване. Преотстъпването се използва в наследяването, когато давате различна реализация на един и същ метод.


2 за отговор № 4

Това е претоварване.
Замяна = замяна
Претоварване = даде повече опции


2 за отговор № 5

Метод Претоварване просто означава предоставяне на два отделни метода в клас със същото име, но различни аргументи, докато типът на връщане на метода може или не може да бъде различен, което ни позволява да използваме отново същото име на метод.

Прекратяване на метода означава дефиниране на метод в дъщерния клас, който вече е дефиниран в родителския клас със същия подпис на метода, т.е.

Разлика между претоварването на метода и отхвърлянето на метода

Разлика между претоварването на метода и отхвърлянето на метода

За повече подробности можете да прочетете Всичко за метода Претоварване срещу метод Overriding.


2 за отговор № 6

Един вид правила за претоварване и отхвърляне:

  1. Конструкторите могат да бъдат претоварени, но не презаредени.
  2. Абстрактните методи трябва да бъдат отменени от първия конкретен подклас.
  3. Методът на заместване:
    • трябва да има същия списък с аргументи,
    • трябва да имат един и същ тип връщане (може също да бъде подклас от типа връщане на клас "родител",
    • не трябва да има по-ограничителен модификатор за достъп,
    • може да има по-малко ограничителен достъп,
    • не трябва да хвърля нови или по-широки изключени изключения,
    • може да хвърля по-малко или по-ограничени изключения за проверка или всяко непроверено изключение.
  4. финал методите не могат да бъдат отменени.
  5. Само наследените методи могат да бъдат заменени и не забравяйте, че частните методи не са наследени.
  6. При използване на подклас: super.overriddenMethodName () да се обади на суперклас “да се преодолее метод.
  7. Претоварени методи:
    • трябва да има различни списъци с аргументи,
    • може да има различни типове връщане, ако списъците с аргументи също са различни,
    • може да има различни модификатори за достъп,
    • може да хвърля различни изключения.
  8. Методите от суперклас могат да бъдат претоварени в подклас.
  9. Полиморфизмът се прилага за преодоляване, но не и за претоварване.
  10. Типът обект (не типът на референтната променлива) определя кой метод се използва при изпълнение.
  11. Референтният тип определя кой претоварен метод ще бъде използван по време на компилация.

* Взето от Sun Certified Programmer за Java 6 Study Guide от Kathy Seirra, Bert Bates.


0 за отговор № 7

Собственост ------------------- OverLoading -------------------- Overriding

Имената на методите --------------> трябва да бъдат същите --------------------> трябва да са същите

Аргови типове ------------------> трябва да бъдат различни (поне аргумент) ----> трябва да са еднакви (включително поръчка)

Подписът на метода -----------> трябва да е различен (поне аргумент) ----> трябва да бъде същият (включително поръчката)

Тип на връщане ----------------> Няма ограничение -------------------> Няма ограничение

Частно, статично, окончателно -------> Без ограничение --------------------> Трябва да е същото

Достъп Modifyer ------------> Няма ограничение -------------------- Същото

try / Catch -----------------> Не Ограничение -------------------- Изключение се хвърля

Резолюция на метода --------> Време на компилатора (справка) -------- (JVM) Поимморфизъм на време за изпълнение