Przypisanie w definicji nazwy funkcji

0

Jak w javie zrobic cos takiego

public void metoda(int z,float x,int i=1) 

Chodzi zeby mozna bylo sie odwolac zarowno (int,float) i (int,float,int) ??

0
public class OptParamTest {
    private void foo(int i, double j, int... k_tab){
        int k = 1;
        if (k_tab.length != 0) k = k_tab[0];
        System.out.println("i:"+i+" j:"+j+" k:"+k);
    }
    
    public static void main(String[] args) {
        OptParamTest test = new OptParamTest();
        test.foo(1, 1.);
        test.foo(1, 1., 42);
    }
}

Można nawet napisać coś takiego:

private int sum(int... t){
   int s = 0;
   for(int a:t) s += a;
   return s;
} 
(...)
System.out.println(test.sum(1,2,3));

Chociaż większość osób używa przeciążania funkcji.

private void foo2(int i, double j, int k){
      System.out.println("i:"+i+" j:"+j+" k:"+k);
}
    
private void foo2(int i, double j){
      foo2(i, j, 1);
}
0

dzieki :D

0

dziwne tu sa te emotikony [green]

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