Verschiedene Konstruktoren mit gleichen Datentypen

niklas._.kpl

Mitglied
Hallo, mir ist heute eine Frage aufgekommen, bei der ich gerne wüsste, wie die Funktionsweise dahinter ist. Wenn ich eine Klasse erstelle mit zwei int werten habe ich gestern probiert zwei Konstruktoren zu erstellen einen für den einen int wert und einen für den anderen wert dann habe ich gemerkt das dies nicht funktioniert. Geht das nicht, weil die Konstruktoren nur anhand des Datentypes unterschieden werden oder warum kann ich diese 2 Konstruktoren nicht erstellen?
L.g Niklas
 
Das gilt übrigens für alle Methodenüberlagerungen.
Vraiblennamen gibt es im kompilierten Code nicht mehr.

Auch myMethod(List<String> a) und myMethod(List<Int> a) funktionieren nicht, da in beiden Fällen eine Liste übergeben wird. Die Generics sind nur dazu da, um dir beim Programmieren zu helfen. Sobald das Ding mal kompiliert wird, sind es wieder Listen von Object.
Das ist einer der wenigen Fälle, wo Arrays einen Vorteil haben, das sollte dir aber nicht oft begegnen, wenn du die Methoden ordentlich benennst.
 
Bedenke eines egal wie viele Konstruktoren du in deiner Klasse hast.

Du kannst beim Instanziieren (Objekt erzeugen mit new) nur einen benutzen.
Wenn du anschließend einen anderen benutzt dann sind das zwei unterschiedliche Objekte Instanzen.
 
Seit Java 8(?) schon, wenn sie der Compiler mit einbaut, ist aber optional. Damit sind die Parameternamen auch per Reflektion zugaenglich. Aber fuer das reine ausfuehren werden sie nicht verwendet, ja.
Ja, die Source-Infos lass ich immer weg für die Release-Version. Ist nur unnötiger Ballast (find ich). Wenn tatsächlich Fehler auftreten, muss ich das eh lokal untersuchen. Ist natürlich jedermanns eigene Entscheidung.
 

Neue Themen


Zurück
Oben