die sind gleichnamig, haben aber nicht die selbe Signatur. Zu der gehört außer dem Namen nämlich noch der Übergabewert. es kann aber keine 2 mit der selben signatur aber unterschiedlichem rückgabewert geben.
Hallo, wenn ich das jetzt lese habe ich noch weniger Durchblick als vorher, ich kann doch die beiden File Arrays als globale Variablen definieren und fertig, oder und und mit meiner Methode darauf zugreifen.
Hallo, wenn ich das jetzt lese habe ich noch weniger Durchblick als vorher, ich kann doch die beiden File Arrays als globale Variablen definieren und fertig, oder und und mit meiner Methode darauf zugreifen.
Also bei mir geht das weder in 1.5, geschweige den in 1.4!
Das wäre mir auch neu, dass das gehn sollte....
Nachtrag: bei sepi haben sie auch nicht den gleichen Namen!!
Außerdem isses ein Unterschied ob ihr Rückgabewert meint oder nicht
Bsp.:
Code:
private void test() //funktioniert
{ }
private String test() // funktioniert nicht!!!! da test schon existiert
{ return null; }
private String test(String bla)//funktioniert, da es Parameter hat
{ return null; }
private String test(String bla, int humpf) //funtkioniert auch, andere parameter)
{ return null;}
private int test(String bla)//funktioniert nicht, da es nur einen anderen Rückgabewert hat und dass begreift er net
{ return -1;}
private int test()//funktioniert auch nicht!!
{ return -1; }
Funktionen/Methoden unterscheiden sich nur bei den Parametern, aber nicht bei den Rückgabewerten und das funktioniert schon seit 1.4 und wahrscheinlich schon immer, da das C++ auch kann! (wahrscheinlich so eine OO spezifikation)
public double methode(){
return 0.0;
}
public int methode(int i){//funktioniert auch mit anderem int als rückgabewert
return 10;
}
klar kann man nicht methoden (mit gleichen parameteren) mit anderen rückgabewerten ausstatten. woher soll man dann wissen welche methode genommen wird?
aber es funktioniert, den Rückgabe wert je nach Parameter zu ändern...
wenn ich public void paint(Graphics g) oder public void paintComponent(Graphics g) in meinem Programm ausprogrammiere und mit super... die eigentliche Methode aufrufe, sowas würde ich Methoden überladen nennen!
wenn ich public void paint(Graphics g) oder public void paintComponent(Graphics g) in meinem Programm ausprogrammiere und mit super... die eigentliche Methode aufrufe, sowas würde ich Methoden überladen nennen!
in der selben klasse gleiche methodennamen zu verwenden heisst auch überladen: java insel
Bei mir wird jedoch der Rückgabewert geändert, worum es ja ging...
Jo und das mit den Rückgabewerten geht ja deswegen nicht, weil woher soll der wissen welche Funktion du aufrufen willst.
Außer der Compiler würde den linken Therm überprüfen, nur funktioinert es dann nicht, wenn man den Rückgabewert net speichert... und das ist auch schon das Hauptproblem
Außer der Compiler würde den linken Therm überprüfen, nur funktioinert es dann nicht, wenn man den Rückgabewert net speichert... und das ist auch schon das Hauptproblem
wenn ich public void paint(Graphics g) oder public void paintComponent(Graphics g) in meinem Programm ausprogrammiere und mit super... die eigentliche Methode aufrufe, sowas würde ich Methoden überladen nennen!