opcjonalne argumenty funkcji

0

czy w ogóle istnieje cos takiego w javie jak opcjonalne argumenty funkcji ?? a jak tak to jak to sie robi

0

Jesli uzywasz JDK5.0 mozesz napisac tak:

import static java.lang.System.*;
import java.util.*;
import java.io.*;

public class Main {

    public static void fun(Object ... args) {
        out.format("Liczba argumentow: %d\n", (args == null) ? 0 : args.length);
    }

    public static void main(String[] args) {
        fun();
        fun(2);
        fun(1, 2, new ArrayList(), new Date());
    }

}

Wczesniej metoda fun() musialaby wygladac jakos tak:

public static void fun(Object[] args) {
// musisz tez zmienic cialo metody bo tez korzysta z nowych mozliwosci - metoda format
    }

i wywolywac ja:

fun(new Object {}); //0 parametrow
fun(new Object {new Integer(17), new Date() }); //2 parametry itd.
0

Coś takiego jak opcjonalne argumenty funkcji osiąga się za pomocą przeciążania metod. Przykładowo, jeśli ma się metodę w której chcemy mieć jeden argument stały i jeden opcjonalny, to definiujemy dwie funkcje o tej samej nazwie: jedną z pierwszym stałym argumentem i drugą ze stałym i opcjonalnym argumentem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1