Sobes.tech
Junior

Какво трябва да отличава два метода, за да ги считаме за пренатоварени?

sobes.tech AI

Отговор от AI

За да се счита, че два метода са презареждащи, те трябва да отговарят на следните условия:

  • Едно и също име на метода. Името на методите трябва да е идентично.
  • Различна сигнатура на метода. Сигнатурата на метода включва името на метода и списък с типове параметри (тяхното количество, ред и типове). Типът на връщане на метода не е част от сигнатурата и не влияе върху презареждането.

Примери:

class Example {
    void print(int num) { // Сигнатура: print(int)
        System.out.println(num);
    }

    void print(String text) { // Сигнатура: print(String)
        System.out.println(text);
    }

    void print(int num, String text) { // Сигнатура: print(int, String)
        System.out.println(num + " " + text);
    }

    // Това не е презареждане, тъй като сигнатурата print(int) се повтаря
    // int print(int num) {
    //     return num;
    // }
}

Таблица, илюстрираща примери за презареждане:

Име на метода Типове параметри Едни и същи / различни методи Явява ли се като презареждане? Причина
calc (int, int) Различни Да Различна сигнатура (броя и типовете параметри)
calc (double, double) Различни Да Различна сигнатура (типове параметри)
calc (int, int, int) Различни Да Различна сигнатура (броя на параметрите)
calc () Различни Да Различна сигнатура (броя на параметрите)
calc (int, int) Едни и същи Не Една и съща сигнатура
calculate (int, int) Различни Не Различно име на метода