Instanz-Felder einer Klasse initialisieren

Status
Nicht offen für weitere Antworten.

jakob190590

Aktives Mitglied
Hallo

wo initialisiert man denn die Felder einer Klasse? Ich meine natürlich nicht die static-Felder, sondern die für jede einzelne Instanz.

sollte man eine init()-Methode schreiben, oder alle, auch Objekte gleich bei der deklaration initialisieren?

Danke schon mal
 
G

Gast

Gast
Initialisierungen werden normalerweise direkt im Konstruktor gemacht.

Gegebenenfalls macht auch eine so gennate lazy initialization Sinn. Dass bedeute, die Instanzvariable wird erst gesetzt, wenn sie auch benötigt wird. Dies ist aber eher die Ausnahme und macht nur dann Sinn wenn die Initialisierung rechenintensiv o.ä ist.
 

jakob190590

Aktives Mitglied
gut, im Konstruktor also. Geht es theoretisch auf diese Weise auch?:
Code:
class Example {
	private long delay = 100;
	private boolean cheat = false;
	private boolean ki = false;
	private boolean wandDurchgang = false;
}

-----------------------------

und bei einem Applet (
Code:
class test extends applet {}
) z.B.: da rufe ich ja nicht selbst den Konstruktor auf
Wenn ich aber einen schreibe (für die initialisierung), kann ich dann sicher sein, dass er aufgerufen wird?
 

Marco13

Top Contributor
Wenn ein Objekt erstellt wird (egal, ob applet oder nicht) wird irgendein konstruktor aufgerufen. Im Zweifelsfall der, der keine Argumente hat. Und die Initialisierungen kann man ggf. in eben diesem Konstruktor machen.

Die erste Option (die Felder direkt initialisieren) geht auch. Eine init-Methode kann aber sinnvoll sein, wenn es mehrere Konstruktoren gibt und/oder die initialisierung von einer abgeleiteten Klasse gemacht werden soll. Auf jeden fall sollte man NICHT die gleichen initialisierungen in mehreren Konstruktoren schreiben - dann "immer" eine init-Methode verwenden.
 

didjitalist

Bekanntes Mitglied
statt init methode sind initializer manchmal auch ganz praktisch. besonderns dann, wenn man ein feld als final deklarieren möchte.

Code:
public class Foo
{
   private final long val;

   {
       // code der hier steht, wird vor dem konstruktor gerufen
       val = 23;
   }

   public Foo()
   {
       // konstruktor zeugs
   }
}
 

Landei

Top Contributor
...besonderns dann, wenn man ein feld als final deklarieren möchte.

???

Natürlich geht auch
Code:
public class Foo 
{ 
   private final long val; 

   public Foo() 
   { 
       val = 23; 
   } 
}

Wo initializer wirklich helfen, sind anonyme Klassen:
Code:
Action action = new AbstractAction("ACTION!!!") {
  {
       putValue(SHORT_DESCRIPTION, "an Action"); 
       putValue(MNEMONIC_KEY, 42);
  }

}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
EinNickname9 Best Practice Singleton und Singleton mit Instanz zu anderer Klasse -Pattern Allgemeine Java-Themen 30
J Verständnis Frage zur Instanz, Objekte, Instanzierung, Referenz Allgemeine Java-Themen 14
Thallius HTTPS Request mit unbekannter Instanz Allgemeine Java-Themen 24
S Speicherverwaltung bei Instanz- und Klassenvariablen JS vs. Java Allgemeine Java-Themen 2
T MEthodenauruf testen, wenn instanz erst erzeugt wird Allgemeine Java-Themen 0
OnDemand InetAddress Instanz Allgemeine Java-Themen 4
T Klassen Instanz einer Klasse ausserhalb des Jar Allgemeine Java-Themen 2
J Ist eine Instanz von einem bestimmten Object Typ? Allgemeine Java-Themen 6
B JavaFX fxml, die selbe Instanz der Klasse Allgemeine Java-Themen 4
E Auf Java-Objekt aus anderer Instanz zugreifen Allgemeine Java-Themen 26
DStrohma In abstrakter Klasse Konstruktor von Instanz implementieren Allgemeine Java-Themen 11
S OOP Objekte als Return-Werte: Einen Klon zurückgeben oder Instanz auf das Feld? Allgemeine Java-Themen 10
V Serialisierung von Instanz eigener Klasse Allgemeine Java-Themen 5
S Singleton Instanz löschen Allgemeine Java-Themen 5
Kr0e Reflection - Instanz einer Klasse erstellen, ohne Default-Constructor Allgemeine Java-Themen 15
sambalmueslie Benachrichtigung bei neuer Objekt-Instanz Allgemeine Java-Themen 5
L Object Instanz anhand eines Strings Allgemeine Java-Themen 10
M Object-Instanz in Date übersetzen Allgemeine Java-Themen 6
M Neue Instanz/Kopie einer unbekannten Klasse Allgemeine Java-Themen 7
M Instanz "von außen" erstellen unterbinden Allgemeine Java-Themen 3
S Neue Instanz eines Objekts erzeugen - Konstruktor erhaelt Parameter. Allgemeine Java-Themen 5
V Reflection - Field-Instanz und Annotations Allgemeine Java-Themen 6
S Instanz in einer Klasse erstellen, und dem Konstruktor die eigene Klasse mitgeben Allgemeine Java-Themen 4
N Variablen eines Objektes (instanz) in einen Array lesen Allgemeine Java-Themen 7
M Instanz von Datenbankklasse Allgemeine Java-Themen 5
M Instanz erstellen Allgemeine Java-Themen 3
flashfactor Prüfen ob bereits eine Instanz gestartet ist Allgemeine Java-Themen 2
A Nur eine Instanz eines Programms ausführen Allgemeine Java-Themen 3
T Instanz einer Interface abgeleiteten Klasse erzeugen Allgemeine Java-Themen 3
I size einer instanz Allgemeine Java-Themen 9
minzel Instanz auslesen? Allgemeine Java-Themen 22
G überpüfen ob bereits instanz von java applikation läuft Allgemeine Java-Themen 4
B Instanz? Allgemeine Java-Themen 6
H Vererbung auch ohne erzeugung einer Instanz möglich? Allgemeine Java-Themen 3
B nur eine Instanz eines Programms laufen lassen Allgemeine Java-Themen 8
G Nur eine Instanz einer Applikation Allgemeine Java-Themen 4
G Instanz IDs Allgemeine Java-Themen 13
P Nur eine Instanz eines Programms zulassen, wie geht das? Allgemeine Java-Themen 15
J Instanz einer inneren Klasse Allgemeine Java-Themen 9
H Methode einer zur Laufzeit generierten Instanz aufrufen Allgemeine Java-Themen 2
D Lombock primitive Felder in RequiredArgsConstructor Allgemeine Java-Themen 2
parrot Mehrdimmensionale Felder Allgemeine Java-Themen 4
parrot Felder - Feldwerte verdoppeln Allgemeine Java-Themen 18
S Kann man Variablen oder Felder definieren deren Typ zwei Interfaces ist..? Allgemeine Java-Themen 9
S Java Felder Allgemeine Java-Themen 13
T Maximale Felder maximale Variablen Allgemeine Java-Themen 2
perlenfischer1984 Mit Lombok Builder Felder in Super Klasse füllen Allgemeine Java-Themen 12
S "Vererben" statischer Felder/Methoden Allgemeine Java-Themen 4
T URL + Felder Allgemeine Java-Themen 1
C Zugriff auf Event felder Allgemeine Java-Themen 0
L iText PDF Form-Felder werden nach Bearbeitung mit iText nicht mehr richtig erkannt. Allgemeine Java-Themen 2
faetzminator verschiedene Beans, verschiedene Felder "koppeln" Allgemeine Java-Themen 3
K Hilfe Felder Allgemeine Java-Themen 7
I Vergleich zweier Felder Allgemeine Java-Themen 3
S Zu viele Felder. Allgemeine Java-Themen 4
P Reflection - Wie rufe ich die Felder einer Klasse in einer Methode der Basisklasse? Allgemeine Java-Themen 4
megachucky Java Reflection -> versteckte Felder finden? Allgemeine Java-Themen 3
D Auf annotierte Felder oder Methoden zugreifen Allgemeine Java-Themen 4
D Felder (Arrays) Allgemeine Java-Themen 4
F (Wie) sortiert ihr eure Felder, Methoden, etc? Allgemeine Java-Themen 19
G mit reflection an die felder einer klasse rankommen Allgemeine Java-Themen 4
L Datenbank Abfrage (Felder&Tabelle nicht fix) in ArrayLis Allgemeine Java-Themen 4
M Felder + Werte einer Klasse auslesen Allgemeine Java-Themen 6
P Bei String alle Alphanumerischen Felder löschen Allgemeine Java-Themen 8
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
T JNA, Aufruf der Funktionen einer dll Allgemeine Java-Themen 5
I Vom Monolith zu Services in einer Webseite Allgemeine Java-Themen 1
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
O Werte einer Generic LinkedList zusammenrechenen Allgemeine Java-Themen 14
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
S HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt? Allgemeine Java-Themen 14
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
J (Geplante) Änderungen an einer Datei vorübergehend speichern und anwenden? Allgemeine Java-Themen 12
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
_user_q Obfuscate einer .jar-Datei mit ProGuard? Allgemeine Java-Themen 2
_user_q Verknüpfung einer .jar-Datei (liegt z. B. auf dem Desktop) im Autostart-Ordner erstellen? Allgemeine Java-Themen 20
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
H Performance einer Monte-Carlo-Simulation verbessern Allgemeine Java-Themen 6
LimDul Kam eine java.net.URL zu einer HashMap und ging als DNS Anfrage wieder heraus Allgemeine Java-Themen 18
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
Zeppi NullPointerException in einer if-Abfrage Allgemeine Java-Themen 6
D Abbruch einer ViewScoped Bean in Arbeit Allgemeine Java-Themen 2
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
Lukas2904 Wie kann man cps (ClicksPerSecond) in einer GUI anzeigen lassen? Allgemeine Java-Themen 4
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
N BlueJ Implementation einer Analoguhr Allgemeine Java-Themen 0
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben