Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Перевантаження Методів | Методи
Java Розширений

bookПеревантаження Методів

Використання методу з різними параметрами в Java

Java дозволяє створювати різні методи з однаковою назвою. Ці методи можуть мати різні типи повернення та/або типи параметрів. Це робиться для того, щоб можна було використовувати ці методи з різними типами даних. Розглянемо приклад методу для виведення масиву:

Ми можемо написати цей метод для прийому значень типу int, але що робити, якщо потрібно вивести масив типу char? Чи потрібно створювати метод з іншою назвою?

Java надає для цього перевантаження методів.

Розглянемо приклад виведення даних і реверсу масиву з попереднього розділу:

Main.java

Main.java

copy
123456789101112131415161718192021222324252627
// method to reverse an int array static int[] flipArray(int[] array) { // creating a new array to store the reversed elements int[] result = new int[array.length]; int index = 0; // iterating over the input array in reverse order for (int i = array.length - 1; i > 0; i--) { result[index] = array[i]; index++; } // returning the reversed int array return result; } // method to reverse a char array static char[] flipArray(char[] array) { // creating a new array to store the reversed elements char[] result = new char[array.length]; int index = 0; // iterating over the input array in reverse order for (int i = array.length - 1; i >= 0; i--) { result[index] = array[i]; index++; } // returning the reversed char array return result; }

Ми перевантажили метод flipArray, щоб він приймав і повертав різні параметри: int та char. Якщо викликати цей метод, він може приймати і повертати як типи int, так і char.

Тепер перевантажимо метод для відображення масиву на екрані. Цей метод також повинен приймати і повертати типи int та char:

Main.java

Main.java

copy
12345678910111213141516171819
// method to print an int array static void printArrayToTheConsole(int[] array) { // iterating through each element of the int array for (int element : array) { System.out.print(element + " "); } // printing a blank line after the array System.out.println(); } // method to print a char array static void printArrayToTheConsole(char[] array) { // iterating through each element of the char array for (char element : array) { System.out.print(element + " "); } // printing a blank line after the array System.out.println(); }

Тут ми перевантажили метод printArrayToTheConsole, щоб він приймав і повертав значення int та char.

Тепер об'єднаємо перевантажені методи та використаємо їх у методі main для масиву типу int та масиву типу char:

Main.java

Main.java

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
package com.example; public class Main { // main method to run the application public static void main(String[] args) { // do not modify the code below int[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; char[] charArray = {'s', 'b', 'c', 'd', 'e', 'f', 'g'}; printArrayToTheConsole(flipArray(intArray)); printArrayToTheConsole(flipArray(charArray)); } // method to reverse an int array static int[] flipArray(int[] array) { int[] result = new int[array.length]; int index = 0; // iterating over the array in reverse order for (int i = array.length - 1; i > 0; i--) { result[index] = array[i]; index++; } return result; } // method to reverse a char array static char[] flipArray(char[] array) { char[] result = new char[array.length]; int index = 0; // iterating over the array in reverse order for (int i = array.length - 1; i >= 0; i--) { result[index] = array[i]; index++; } return result; } // method to print an int array to the console static void printArrayToTheConsole(int[] array) { // printing each element of the int array for (int element : array) { System.out.print(element + " "); } System.out.println(); } // method to print a char array to the console static void printArrayToTheConsole(char[] array) { // printing each element of the char array for (char element : array) { System.out.print(element + " "); } System.out.println(); } }

Ми перевантажили два різних методи, додавши можливість використовувати ці методи з масивами типу char. Також ми трохи змінили назви цих методів, оскільки тепер можемо перевантажувати їх кілька разів для прийому та повернення значень різних типів.

Щоб переконатися в цьому, ми створили два різних масиви: один типу int, а інший типу char, а потім передали ці масиви до перевантажених методів, отримавши коректні результати.

До речі, ви вже стикалися з перевантаженими методами раніше. Наприклад, метод String класу substring() є перевантаженим і може мати або один параметр int beginIndex, або два параметри int beginIndex, int endIndex. Перевантаження методів є дуже корисним і широко використовується на практиці.

question mark

Скільки разів можна перевантажити метод?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

bookПеревантаження Методів

Свайпніть щоб показати меню

Використання методу з різними параметрами в Java

Java дозволяє створювати різні методи з однаковою назвою. Ці методи можуть мати різні типи повернення та/або типи параметрів. Це робиться для того, щоб можна було використовувати ці методи з різними типами даних. Розглянемо приклад методу для виведення масиву:

Ми можемо написати цей метод для прийому значень типу int, але що робити, якщо потрібно вивести масив типу char? Чи потрібно створювати метод з іншою назвою?

Java надає для цього перевантаження методів.

Розглянемо приклад виведення даних і реверсу масиву з попереднього розділу:

Main.java

Main.java

copy
123456789101112131415161718192021222324252627
// method to reverse an int array static int[] flipArray(int[] array) { // creating a new array to store the reversed elements int[] result = new int[array.length]; int index = 0; // iterating over the input array in reverse order for (int i = array.length - 1; i > 0; i--) { result[index] = array[i]; index++; } // returning the reversed int array return result; } // method to reverse a char array static char[] flipArray(char[] array) { // creating a new array to store the reversed elements char[] result = new char[array.length]; int index = 0; // iterating over the input array in reverse order for (int i = array.length - 1; i >= 0; i--) { result[index] = array[i]; index++; } // returning the reversed char array return result; }

Ми перевантажили метод flipArray, щоб він приймав і повертав різні параметри: int та char. Якщо викликати цей метод, він може приймати і повертати як типи int, так і char.

Тепер перевантажимо метод для відображення масиву на екрані. Цей метод також повинен приймати і повертати типи int та char:

Main.java

Main.java

copy
12345678910111213141516171819
// method to print an int array static void printArrayToTheConsole(int[] array) { // iterating through each element of the int array for (int element : array) { System.out.print(element + " "); } // printing a blank line after the array System.out.println(); } // method to print a char array static void printArrayToTheConsole(char[] array) { // iterating through each element of the char array for (char element : array) { System.out.print(element + " "); } // printing a blank line after the array System.out.println(); }

Тут ми перевантажили метод printArrayToTheConsole, щоб він приймав і повертав значення int та char.

Тепер об'єднаємо перевантажені методи та використаємо їх у методі main для масиву типу int та масиву типу char:

Main.java

Main.java

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
package com.example; public class Main { // main method to run the application public static void main(String[] args) { // do not modify the code below int[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; char[] charArray = {'s', 'b', 'c', 'd', 'e', 'f', 'g'}; printArrayToTheConsole(flipArray(intArray)); printArrayToTheConsole(flipArray(charArray)); } // method to reverse an int array static int[] flipArray(int[] array) { int[] result = new int[array.length]; int index = 0; // iterating over the array in reverse order for (int i = array.length - 1; i > 0; i--) { result[index] = array[i]; index++; } return result; } // method to reverse a char array static char[] flipArray(char[] array) { char[] result = new char[array.length]; int index = 0; // iterating over the array in reverse order for (int i = array.length - 1; i >= 0; i--) { result[index] = array[i]; index++; } return result; } // method to print an int array to the console static void printArrayToTheConsole(int[] array) { // printing each element of the int array for (int element : array) { System.out.print(element + " "); } System.out.println(); } // method to print a char array to the console static void printArrayToTheConsole(char[] array) { // printing each element of the char array for (char element : array) { System.out.print(element + " "); } System.out.println(); } }

Ми перевантажили два різних методи, додавши можливість використовувати ці методи з масивами типу char. Також ми трохи змінили назви цих методів, оскільки тепер можемо перевантажувати їх кілька разів для прийому та повернення значень різних типів.

Щоб переконатися в цьому, ми створили два різних масиви: один типу int, а інший типу char, а потім передали ці масиви до перевантажених методів, отримавши коректні результати.

До речі, ви вже стикалися з перевантаженими методами раніше. Наприклад, метод String класу substring() є перевантаженим і може мати або один параметр int beginIndex, або два параметри int beginIndex, int endIndex. Перевантаження методів є дуже корисним і широко використовується на практиці.

question mark

Скільки разів можна перевантажити метод?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 6
some-alt