1. Метод перегрузка
Имя метода одинаково, но параметры разные, это перегрузка.
Так называемые различные параметры имеют две основные точки: первое состоит в том, что количество параметров отличается, а второе-то, что типы параметров различны. Пока один из этих двух аспектов отличается, он может представлять собой перегрузку метода.
пакет cn.galc.test; public class testoverload {void max (int a, int b) {system.out.println (a> b? a: b); } / * * int max (int a, int b) { * return a> b? A: B; *} */ void max (float a, float b) {System.out.println (a> b? a: b); }}Здесь два максимального метода с модификатором void имеют одинаковое имя, но их типы параметров разные, поэтому они могут составлять перегрузку. Метод int max (int a, int b) и метод void max (int a, int b) не представляют собой перегрузку. Теперь это два метода с дублирующими именами. Объявление двух методов с дублирующими именами в классе не допускается, и в компиляции будет ошибка. Имя метода одинаково, а тип параметра одинаково. Только возвратное значение отличается. Это не является перегрузкой, потому что метод может быть вызван таким образом. Это не может быть использовано при вызове метода. Следовательно, при вызове этих двух методов пропускается целое число. Поскольку оба метода имеют одинаковое имя и одинаковый тип параметра, компилятор не может различить, какой метод должен быть вызван. Причина глубокого уровня перегрузки: до тех пор, пока компилятор этих двух методов может различать их и знать, какой из них будет вызван при вызове, не будет путаницы, эти два метода представляют собой перегрузку.
Давайте посмотрим на следующие два метода:
int max (int a, int b) {system.out.println ("int max (int a, int b) метод называется"); вернуть A> B? A: b;} int max (короткий a, short b) {system.out.println ("int max (short a, short b) метод под названием"); вернуть A> B? A: B;} Эти два метода также могут составлять перегрузку, потому что компилятор будет рассматривать его как тип Int, как только он видит целое число. Таким образом, при прохождении целого числа компилятор сначала вызывает метод Max (int a, int b). Если вы хотите назвать метод Max (Short A, Short B), вы должны написать его в основном методе, как это:
public static void main (string [] args) {testoverload t = new TestoverLoad (); T.Max (3,4); // Метод Макс (int a, int b) называется коротким a = 3; короткий B = 4; t.max (a, b); // метод Макс (короткий а, короткий б) называется здесь. }2. Перегрузка методов строительства
Как и обычные методы, конструкторы также могут быть перегружены
пакет cn.galc.test; public class person {int id; int возраст; / *** Конструктор*/ public () {id = 0; возраст = 20; } / *** Конструктор перегружен один* @param i* / public (int i) {id = i; возраст = 20; } / ** * Конструктор Перегрузка два * @param i * @param j * / public (int i, int j) {id = i; возраст = j; }}Выше приведено подробное объяснение перегрузки методов Java. Я надеюсь, что это будет полезно для каждого обучения.