Überladen des + Operators?

Status
Nicht offen für weitere Antworten.
S

Samuel

Gast
Hallo,
wie kann ich eigentlich den + Operator so wie die Stringklasse es getan hat, überladen?

Ich find nichts dazu, Funktionen überladen ok, aber Operatoren?
 
B

Beni

Gast
Operatorüberladung kann man in Java nicht machen.

Mach eine statische Methode:
Code:
public class Complex{
  public static Complex add( Complex a, Complex b ){
     return // Das was "a + b" entspricht.
  }
}

Später kannst du dann schreiben:
Code:
import static Complex.add;

...

public void doSomething(){
  Complex a, b, ...

  Complex c = add( a, b );
}
 
S

Samuel

Gast
Aber das hat doch die Stringklasse auch gemacht, mit + addiere ich ja zwei Strings nicht, sondern verbinde diese
 
B

Beni

Gast
Die Stringklasse erfährt eine Sonderbehandlung des Compilers. Diese Sonderbehandlung gibt es für normale Klassen nicht.

Es geht nicht, darüber kann man nicht diskutieren :wink:
 
B

Beni

Gast
Der Standardcompiler unterstützt sowas nicht (und wird es vermutlich auch nie unterstützen, denn das Feature wurde mit voller Absicht weggelassen).

Mag sein, dass es irgendwelche Alternativ-Compiler gibt, die sowas machen können. Aber damit begibst du dich auf gefährliches Gebiet (was die Korrektheit des produzierten Bytescodes angeht).
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben