logo

Výchozí parametr v Javě

v Java, výchozí parametry jsou výkonnou funkcí, která umožňuje vývojářům definovat výchozí hodnoty parametrů metody. To může být užitečné, když má metoda velký počet parametrů a některé z nich nejsou vždy vyžadovány.

Výchozí parametry byly představeny v Javě 8 a jsou součástí specifikace jazyka Java. Fungují tak, že umožňují vývojáři definovat výchozí hodnotu pro parametr, když není explicitně předán během volání metody.

Chcete-li definovat výchozí parametr, jednoduše přiřaďte hodnotu parametru, když je deklarován v podpisu metody. Zvažte například následující metodu:

 public void doSomething(String name, int age, String city) { // code to perform some action } 

Pokud bychom chtěli nastavit parametr města jako volitelný, mohli bychom definovat výchozí hodnotu takto:

 public void doSomething(String name, int age, String city = 'New York') { // code to perform some action } 

Nyní, když je metoda volána bez parametru města, bude místo toho použita výchozí hodnota 'New York'.

java regex $

Výhody výchozích parametrů

  • Výchozí parametry mohou být užitečné zejména při práci s rozhraními API nebo knihovnami, kde nemusíte mít kontrolu nad podpisem metody. Místo toho, abyste od uživatelů vašeho API vyžadovali, aby poskytovali hodnoty pro každý parametr, můžete definovat rozumné výchozí hodnoty a umožnit uživatelům, aby je v případě potřeby přepsali.
  • Výchozí parametry jsou, že mohou kód učinit stručnějším a čitelnějším. Odstraněním potřeby explicitně specifikovat výchozí hodnoty v každém volání metody můžete snížit množství standardního kódu a usnadnit pochopení kódu.
  • Stojí za zmínku, že výchozí parametry lze použít pouze pro parametry, které následují po všech požadovaných parametrech v podpisu metody. Je to proto, že Java vyžaduje, aby všechny požadované parametry byly zadány před libovolnými volitelnými parametry.

Výchozí parametry byly přidány do Javy ve verzi 8, která byla vydána v roce 2014. Před Javou 8 neexistoval způsob, jak v Javě zadat výchozí hodnoty pro parametry metod. Místo toho museli vývojáři napsat přetížené metody nebo použít hodnoty null k reprezentaci volitelných parametrů. Se zavedením výchozích parametrů získali vývojáři v Javě nový nástroj pro zjednodušení signatur metod a zvýšení čitelnosti kódu. Také se staly konzistentnějšími s jinými programovacími jazyky, jako je Python, Ruby a JavaScript, které mají výchozí parametry po celá léta.

V Javě fungují výchozí parametry tak, že umožňují vývojáři zadat výchozí hodnotu pro parametr v deklaraci metody. Výchozí hodnota se použije, pokud je metoda volána bez argumentu pro daný parametr.

Zde je příklad programu, který demonstruje použití výchozích parametrů v Javě:

DefaultParameterExample.java

 import java.util.Scanner; public class DefaultParameterExample { // Define a method with a default parameter public static void printName(String firstName, String lastName, String title) { title = title != null ? title : 'Mr.'; // Default value for title System.out.println('Hello, ' + title + ' ' + firstName + ' ' + lastName + '!'); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Get user input System.out.print('Enter your first name: '); String firstName = scanner.nextLine(); System.out.print('Enter your last name: '); String lastName = scanner.nextLine(); // Call the method with and without the title parameter printName(firstName, lastName, 'Dr.'); // Pass in a value for title printName(firstName, lastName, null); // Don't pass in a value for title // The second call will use the default value of 'Mr.' } } 

Výstup:

filmová herečka kajal
 Enter your first name: John Enter your last name: Doe Hello, Dr. John Doe! Hello, Mr. John Doe! 

V tomto příkladu definujeme metodu nazvanou printName, která má tři parametry: jméno, příjmení a titul. Parametr title má výchozí hodnotu 'Mr.' pokud není poskytnuta.

V hlavní metodě získáme uživatelský vstup pro proměnné firstName a lastName a poté dvakrát zavoláme metodu printName. První hovor projde v hodnotě 'Dr.' pro parametr title, zatímco druhé volání nepředá hodnotu pro title.

Závěr

Výchozí parametry jsou výkonnou funkcí Javy, která může pomoci učinit váš kód stručnějším, čitelnějším a flexibilnějším. Umožňují vám definovat rozumné výchozí hodnoty pro parametry metody a usnadňují používání a pochopení vašeho kódu. Pokud jste to ještě neudělali, zvažte použití výchozích parametrů v kódu Java, abyste mohli využít této užitečné funkce.