Überladen und Überschreiben von Operatoren in Java

7

Was ist der Unterschied zwischen dem Überladen des Operators und dem Überschreiben des Operators?

Sind sie in Vererbungs- und Konsolenprogrammen identisch?

    
rajesh 30.08.2010, 07:49
quelle

5 Antworten

21

Das Überladen und Überschreiben von Operatoren wird in Java nicht unterstützt.

Überprüfen Sie die folgende Beschreibung: Ссылка

  

2.2.7 Keine weitere Überlastung des Operators

     

Dafür gibt es keine Mittel   Programmierer können den Standard überlasten   Rechenzeichen. Noch einmal, die   Auswirkungen der Bedienerüberlastung können sein   Genauso einfach, indem man ein   Klasse, geeignete Instanzvariablen,   und geeignete Methoden zur Manipulation   diese Variablen. Bediener eliminieren   Überladung führt zu großen   Vereinfachung des Codes.

    
YoK 30.08.2010 08:21
quelle
9

Sie können Operatoren in Java nicht überschreiben (oder überladen).

In einigen anderen Sprachen kann der Unterschied zwischen dem Überladen und Überschreiben von Operatoren derselbe wie zwischen Überladen und Überschreiben von Funktionen sein. Z.B. In Scala sind Operatoren nur Funktionen.

    
amorfis 30.08.2010 07:50
quelle
6

Sie können den Operator in C ++, aber nicht in Java überladen. Ich frage mich, ob Sie Method Overloading und Method Overriding meinten? Beim Überladen von Methoden gibt es zwei Definitionen für dieselbe Methodensignatur. Zum Beispiel

%Vor%

Bei der objektorientierten Programmierung überschreiben (definieren) Sie eine Funktion, die von einer aszendenten (Basis-) Klasse geerbt wird. Wenn in einer Klassenhierarchie eine Funktion (Methode) in einer Unterklasse denselben Namen und dieselbe Typunterschrift wie eine Methode in ihrer Oberklasse hat, dann sagt man, dass die Methode in der Unterklasse die Methode in der Oberklasse außer Kraft setzt.

    
haberdar 26.01.2012 10:27
quelle
3

Es gibt ein javac-plugin (ein Annotationsprozessor wie Lombok) namens " Java-OO ", das hinzufügt Überladen des Operators nach Java.

Es ermöglicht Ihnen, die Überlastung des Operators sehr einfach zu Ihren eigenen Klassen hinzuzufügen. Darüber hinaus unterstützen viele der integrierten Klassen der Java-API auch das Überladen von Operatoren bei Verwendung dieses Plugins. (Beispiel: Statt list.get (6) oder map.get ("hallo") können Sie list [6] und map ["hallo"])

erstellen

Alles, was Sie tun müssen, ist, die .jar beim Kompilieren mit javac in den Klassenpfad einzufügen.

Es gibt Plugins für alle wichtigen IDEs: Eclipse, Netbeans und IntelliJ IDEA.

    
Bjarke 18.03.2016 02:54
quelle
1

Es gibt keinen Operator, der in Java überlädt / überschreibt.

    
bragboy 30.08.2010 07:50
quelle

Tags und Links