czy w ogóle istnieje cos takiego w javie jak opcjonalne argumenty funkcji ?? a jak tak to jak to sie robi
0
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.