Konstuktor und Parameterübergabe
-
Hi habe ein paar kleine Javafragen:
wie ist es eigentlich, kann ich auch bei primitiven Datentypen ein Call by Reference und bei Objekten ein Call by Value machen, standmässig ist es ja immer genau umgekehrt wie kann ich das umgehen, ändern wie auch immer ausgedrückt, also zb einen "int" als Reference übergeben.
Außerdem versteh ich noch etwas aus meinen Unterlagen nicht
Könnte ich dafür ein (vollständiges) Beispiel bekommenEin Konstruktor kann auch von einer Methode, die sich in der gleichen Klasse befindet, aufgerufen und ausgeführt werden. Zu beachten ist hierbei allerdings, dass die Anweisung für den Konstruktoraufruf die erste Anweisung in der Methode sein muss.
Also ich kann doch nicht in einer pgetName Funktionen der Klasse Test ein Objekt der Klasse Test erzeugen oder ?
Ich danke euch für eure Hilfe
-
das mit dem "Call by Reference" und dem "Call by Value" kannst du umgehen in dem du anstellen von einem int ein integer-objekt übergibts und bei "Call by Reference" kannst du eine copy des objektes übergeben. es ist nicht im eigendlichen sinne geändern, aber vielleicht hilft's ja.
PaFFy schrieb:
Also ich kann doch nicht in einer pgetName Funktionen der Klasse Test ein Objekt der Klasse Test erzeugen oder ?
doch das geht, wenn z.B. die klasse teil einer hierarchie ist und fähig seien soll 'kinder' vom typ Test anzulegen . diese könnten dann zurück gegeben und (oder) innerhalb dieses objekt gespeichert werden.
hoffe es ist klar was ich meine.
_________________
www.java-forum.net
-
Das muss sogar gehen da man ja auch einen protected-Konstruktor erzeugen kann und es eine Methode geben muss ein Objekt der Klasse XYZ zu erzeugen. Häufige Anwendung sind Objekte von Klassen die nur einmal vorkommen dürfen.
-
danke erstmal für eure Hilfe,
bei dem zweiten Probleme würde mich aber interresieren ob ihr mir direkt ein Code-Beispiel geben könntet, damit ich es mir besser vorstellen kann.
Danke und Gruß
-
Klar.
public class MyProtecedClass { protected MyProtectedClass(int x, int y, String str) { // Mache irgendeine initialisation } public MyProtectedClass getInstance(String str) { return new MyProtectedClass(/* berechne x und y*/, str); } ... }