Reihenfolge der Initialisierungen eines Objekts

Status
Nicht offen für weitere Antworten.

ernst

Top Contributor
Hallo allerseits,
In welcher Reighenfolge wird in Java ein Objekt initialisiert?
Die Attribute eines Objekt können z.B. bestehen aus:
- einfachen DatentypenAttributen
- Objekten (mit dem Datentyp einer Klasse)
außerdem kann es Attribute (und Methoden) erben

Beispiel: (komplettes Programm unten)
class Sohn extends Vater{
public int s=Do.myprint("S0");
Freundin myf=new Freundin(123);

public Sohn(int pv, int ps){
super(ps);
s = ps;
}
}

class MyTest extends MyVater {
private i = 12;
MyKlasse myk;
}

Frage:
I) Was passiert, wenn z.B. ein Objekt dieser Klasse Sohn angelegt
wird.
In welcher Reihenfolge werden die Attribute dieser Klasse wie initialisiert?

Meine Meinung ist folgende:
1)
1.1) Standardinitialisierung der Attribute der Klasse Sohn, also
s = 0 und
myf = null

1.2) Initialisierung der Oberklasse
1.2.1)
Standardinitialisierung der Attribute der Klasse Vater, also
v=0
1.2.2)Initialisierung der Attribute der Klasse Vater, also
v=Do.myprint("V0");
das bedeutet konkret: v=1
1.2.3) Aufruf des Konstruktors der Klasse Vater

1.3) Initialisierung der Attribute der Klasse Sohn, also
s=Do.myprint("S0");
myf=new Freundin(123);

1.4) Aufruf des Konstruktors der Klasse Sohn


2) Gibt es einen Link zu einer Website, in dem genau beschrieben wird,
wie dies allgemein funktioniert?


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

public class MainInitReihenfolge1 {
public static void main(String[] args){
Sohn myS= new Sohn(10,20);
}
}

class Sohn extends Vater{
public int s=Do.myprint("S0");
Freundin myf=new Freundin(123);

public Sohn(int pv, int ps){
super(ps);
s = ps;
}
}

class Vater{
public int v=Do.myprint("V0");

public Vater(int pv){
System.out.println("Konstruktor Vater v="+v);
v=pv;
System.out.println("Konstruktor Vater v="+v);
}
}

class Freundin{
public int f=Do.myprint("F0");;

public Freundin(int pf){
System.out.println("Konstruktor Freundin f="+f);
f=pf;
System.out.println("Konstruktor Freundin f="+f);
}
}

class Do{
public static int myprint(String ps){
System.out.println(ps);
return 1;
}
}

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

mfg
Ernst
 

Wildcard

Top Contributor
Zuerst alles was static ist, dann die Attribute der Superklassen, dann die Konstruktoren der Superklassen, dann die Attribute der Klasse, dann der Konstruktor.
Solltest du aus einem anderen Grund als Neugier fragen:
Programmlogik darf sich niemals auf Initialisierungsreihenfolgen verlassen.
 

ernst

Top Contributor
Wildcard hat gesagt.:
Zuerst alles was static ist, dann die Attribute der Superklassen, dann die Konstruktoren der Superklassen, dann die Attribute der Klasse, dann der Konstruktor.
Solltest du aus einem anderen Grund als Neugier fragen:
Programmlogik darf sich niemals auf Initialisierungsreihenfolgen verlassen.
-----------------
1)
Was wird zuerst gemacht:
die Standardinsitialisierung (s = 0 und myf = null) oder die
Initialisierung, die der Programmierer veranlasst (public int s=Do.myprint("S0");
Freundin myf=new Freundin(123))?

2)
mit static meinst du die Klassenvariablen.
Diese werden zuerst initialisiert. Gut, aber was wird zuerst gemacht:
die Standardinsitialisierung oder die
Initialisierung, die der Programmierer veranlasst ?


mfg
Ernst
 

ernst

Top Contributor
Programmlogik darf sich niemals auf Initialisierungsreihenfolgen verlassen.[/quote]
------------------
Warum?
Wenn es einen Algorithmus gibt, der die Reihenfolge der Initialisierungen festlegt, dann kann man sich doch darauf verlassen, oder?
 

Wildcard

Top Contributor
Hast du das etwa vor?
Das ist eine sehr zuverlässige Art schwer zu findende Fehler zu produzieren :toll:
Was schwebt dir vor?
 

André Uhres

Top Contributor
Man unterscheidet Statische Initialisierung und Instanzinitialisierung.
Jede dieser zwei Arten hat wieder drei Unterarten:
- einfache Initialisierung
- Initialisierung durch Aufruf einer statischen Methode
- Initialisierungsblock
Letzterer ist möglichst zu vermeiden, der Code wird sonst schnell unübersichtlich.

Statische Initialisierungen werden zuerst ausgeführt.
Die weitere Reihenfolge innerhalb der zwei Hauptarten ist einfach die des Erscheinens im Code der Klasse.
Nach der Initialisierung wird der Konstruktor aufgerufen.

Insbesondere auf die Reihenfolge von statischen Initialisierungen sollte man sich aber nicht verlassen.
Durch Verschachtelungen kann es zu unerwarteten Ergebnissen kommen, die schwer nachvollziehbar sind.
 

ernst

Top Contributor
>Man unterscheidet Statische Initialisierung und Instanzinitialisierung.
>
Was ist eine statische Iniialisierung, was ist eine Instanzinitialisierung?
>
>Jede dieser zwei Arten hat wieder drei Unterarten:
>- einfache Initialisierung
>
was ist eine einfache Initialisierung
>- Initialisierung durch Aufruf einer statischen Methode
>
ist das folgende Beispiel von mir eine "Initialisierung durch Aufruf einer statischen Methode"?
public int s=Do.myprint("S0");
>
>- Initialisierungsblock
>
was ist ein Initialisierungsblock?
>
>Letzterer ist möglichst zu vermeiden, der Code wird sonst schnell unübersichtlich.
>
Ich habe die Begriffe Standardinitialsierung (s = 0 und myf = null) und Initialiserung (public int s=Do.myprint("S0");
Freundin myf=new Freundin(123)) verwendet.
Wie nennst du diese Begriffe in deiner Terminologie?
>
>Statische Initialisierungen werden zuerst ausgeführt.
>Die weitere Reihenfolge innerhalb der zwei Hauptarten ist einfach die des Erscheinens im Code der Klasse.
>Nach der Initialisierung wird der Konstruktor aufgerufen.
>
Kannst du mir ein Beispiel geben, in dem alle diese von dir aufgezählten Möglichkeiten dargestellt werden?
Ich habe schon einige Bücher durchgeschaut, aber in keinem gibt es ein Beispiel, in dem alle Möglichkeiten dargestellt werden.

mfg
Ernst
 

ernst

Top Contributor
>Hast du das etwa vor?
>
Nein
>Das ist eine sehr zuverlässige Art schwer zu findende Fehler zu produzieren :toll:
>
Warum?
>
>Was schwebt dir vor?[/quote]
>
Mir schwebt nichts vor.
Ich will nur das Verfahren wissen, wie in Java die Initialisierungsreihenfolge festgelegt ist.

mfg
Ernst
 

André Uhres

Top Contributor
>Man unterscheidet Statische Initialisierung und Instanzinitialisierung.
>
Was ist eine statische Iniialisierung, was ist eine Instanzinitialisierung?
statisch (keyword: "static"): wird beim Laden der Klasse vom ClassLoader initialisiert.
Statische Variablen gelten für alle Instanzen der Klasse, Instanzvariablen nur für eine bestimmte Instanz der Klasse.
>
>Jede dieser zwei Arten hat wieder drei Unterarten:
>- einfache Initialisierung
>
was ist eine einfache Initialisierung
Das ist eine einfache Zuweisung eines Konstanten Wertes:
private String x = "blabla";

>- Initialisierung durch Aufruf einer statischen Methode
>
ist das folgende Beispiel von mir eine "Initialisierung durch Aufruf einer statischen Methode"?
public int s=Do.myprint("S0");
Richtig. Anderes Beispiel:
private String version = System.getProperty("java.version");

>
>- Initialisierungsblock
>
was ist ein Initialisierungsblock?
Beispiel:
private String version;
{
version = System.getProperty("java.version");
}

zwischen den geschweiften Klammern ist der Initialisierungsblock, dort kann, ähnlich wie in einer Methode,
auch mehr als eine Anweisungen stehen.
>
>Letzterer ist möglichst zu vermeiden, der Code wird sonst schnell unübersichtlich.
>
Ich habe die Begriffe Standardinitialsierung (s = 0 und myf = null) und Initialiserung (public int s=Do.myprint("S0");
Freundin myf=new Freundin(123)) verwendet.
Wie nennst du diese Begriffe in deiner Terminologie?
"Standardinitialsierung" ist bei mir ausgeklammert, da es ja nicht explizit gecodet wird und man
von vornherein davon ausgehen kann, dass eine nicht initialisierte Variable immer den Standardwert hat.
>
>Statische Initialisierungen werden zuerst ausgeführt.
>Die weitere Reihenfolge innerhalb der zwei Hauptarten ist einfach die des Erscheinens im Code der Klasse.
>Nach der Initialisierung wird der Konstruktor aufgerufen.
>
Kannst du mir ein Beispiel geben, in dem alle diese von dir aufgezählten Möglichkeiten dargestellt werden?
Ich habe schon einige Bücher durchgeschaut, aber in keinem gibt es ein Beispiel, in dem alle Möglichkeiten dargestellt werden.
Gut, 3 Beispiele hab ich ja eben angeführt. Hier ist das in statischer Form:

private static String x = "blabla";

private static String version = System.getProperty("java.version");

private static String version;
static
{
version = System.getProperty("java.version");
}
 

ernst

Top Contributor
Ich habe deine Erläuterungen wie folgt zusammengefasst:
I)
Eine statische Initialisierung wird durch den Bezeichner static charakterisiert, eine nicht statische Initialisierung ohne den Bezeichner static.
Es gibt bei statischen bzw. nicht statischen Initialisierungen folgende Möglichkeiten:
a) einfache Initialisierung
b) Initialisierung durch Aufruf einer statischen Methode
c) Initialisierung durch Initialisierungsblock (statischer bzw. nicht statischer Initialisierungsblock)

II)
Reihenfolge der Initialisierungen:
1) Alle Attribute aller Objekte sind prinzipiell mit den Standardwerten vorbelegt.
2) Alle statischen Attribute der Oberklasse des Objekts werden in der Reihenfolge ihres Auftauchens in der Klassenimplementierung initialisiert.
3) Alle statischen Attribute des Objekts werden in der Reihenfolge ihres Auftauchens in der Klassenimplementierung initialisiert.
4) Alle nicht statischen Attribute der Oberklasse des Objekts werden in der Reihenfolge ihres Auftauchens in der Klassenimplementierung initialisiert.
5) Der Konstruktor der Oberklasse wird aufgerufen.
6) Alle nicht statischen Attribute des Objekts werden in der Reihenfolge ihres Auftauchens in der Klassenimplementierung initialisiert.
7) Der Konstruktor der Klasse wird aufgerufen.

Ist das korrekt?

III)
Im Buch Java ist auch eine Insel (http://bequiet.homeip.net/i/bequiet...sel06_005.htm#Rxx747java06005040001E61F0271D3)
wird behauptet, dass wenn ein Attribut wie z.B. int i=1 mit 1 initialisiert wird, dies vom Compiler als Programmcode in den Konstruktor mit aufgenommen wird. Stimmt das?
Wie ist das dann aber bei statischen Attributen(d.h. Klassenvariablen)?


IV)
Ein Beispielprogramm von mir:
Code:
public class MainInitReihenfolge2 {
	public static void main(String[] args){
		Sohn myS= new Sohn(10,20);
		StaticTest.f();
		StaticTest.f();		
		StaticTest myx=new StaticTest();

	}
}

class Sohn extends Vater{
	//einfache Initialisierung	
	public int s1=52;
	//Initialisierung durch Aufruf einer statischen Methode 
	public int s2=Do.myprint("S2");
	public static int s3=Do.myprint("S3");	
	Freundin myf=new Freundin(123);

	//Initialisierung durch Initialisierungsblock	
	{
	System.out.println("Initialisierungsblock Sohn");		
	}
	
	
	public Sohn(int pv, int ps){
		super(ps);		
		s1 = ps;
		s2=13;
	}
}

class Vater{  
	//einfache Initialisierung	
	public int v1=53;	
	//Initialisierung durch Aufruf einer statischen Methode	
	public int v2=Do.myprint("V2");
	public static int v3=Do.myprint("V3");	

	//Initialisierung durch Initialisierungsblock	
	{
	System.out.println("Initialisierungsblock Vater");		
	}
	
	public Vater(int pv){
		System.out.println("Konstruktor Vater v="+v1);		
		v1=pv;
		v2=67;
		System.out.println("Konstruktor Vater v="+v1);		
	}
}

class Freundin{
	//einfache Initialisierung	
	public int f1=45;
	//Initialisierung durch Aufruf einer statischen Methode	
	public int f2=Do.myprint("F0");;

	//Initialisierung durch Initialisierungsblock	
	{
	System.out.println("Initialisierungsblock Freundin");		
	}
	
	
	public Freundin(int pf){
		System.out.println("Konstruktor Freundin f="+f1);		
		f1=pf;
		System.out.println("Konstruktor Freundin f="+f1);		
	}
}

class Do{
	public static int myprint(String ps){
		System.out.println(ps);
		return 1;
	}
}

class StaticTest{
	public int i=11;
	//Initialisierung durch statischen Initialisierungsblock	

	static 
	{
	System.out.println("Hallo Static Welt");		
	}
	
	{
	System.out.println("Hallo Nicht Static Welt");		
	}

	
	public static void f(){
	//public void f(){		
		System.out.println("Hallo ich bin f");		
	}
}

mfg
Ernst
 

André Uhres

Top Contributor
II): Reihenfolge ist das korrekt.
III): Stimmt.
Selbstverständlich gilt das nicht für statische Attribute,
da diese beim Laden der Klasse initialisiert werden und nicht bei jeder Instanz.
 

ernst

Top Contributor
André Uhres hat gesagt.:
II): Reihenfolge ist das korrekt.
III): Stimmt.
Selbstverständlich gilt das nicht für statische Attribute,
da diese beim Laden der Klasse initialisiert werden und nicht bei jeder Instanz.
--------------
Wenn wir gerade bei statischen Attributen (Klassenvariablen) sind:
Wann wird der statische Initialisierungsblock einer Klasse ausgeführt?
Er soll ausgeführt werden, so habe ich gelesen, wenn der Klassenlader eine Klasse in die Laufzeitumgebung geladen hat.
Frage:
Wann wird diese in die Laufzeitumgebung geladen?
Spätestens doch dann, wenn über eine Methode auf eine Klassenvariable der Klasse zugegriffen wird. Ist das richtig?

mfg
Ernst
 

ernst

Top Contributor
Leroy42 hat gesagt.:
Bevor hier alles durchgekaut wird, schau dir das entsprechende Kapitel
in der JLS : Java Language Specification an.
Das ist die ultimative Referenz.
-------------------------------------------------
Danke für den Link. Da steht viel, so viel dass ich gar nicht alles davon verstehe, bzw. ich vielleicht für meine Frage gar nicht alles davon verstehen muss:

Mich interessiert nur, ob der statische Initialisierungsblock einer Klasse _spätestens_ dann ausgeführt wird, wenn
über eine Methode auf eine Klassenvariable der Klasse zugegriffen wird.
Ist das richtig?

mfg
Ernst
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Reihenfolge umkehren Allgemeine Java-Themen 6
E Fibonacci Reihenfolge dividieren Allgemeine Java-Themen 3
M Methoden werden in falscher Reihenfolge bearbeitet Allgemeine Java-Themen 10
T datei auslesen ind der richtigen reihenfolge Allgemeine Java-Themen 2
J Beanshell Classpath Reihenfolge Allgemeine Java-Themen 2
J JSONObject Reihenfolge der Werte? Allgemeine Java-Themen 4
TheWhiteShadow Listener Reihenfolge Allgemeine Java-Themen 4
S Methoden Class.forName() >> Methoden - Reihenfolge Allgemeine Java-Themen 5
turmaline Reihenfolge von Parametern Allgemeine Java-Themen 7
F Multidimensionales Array ohne linare Reihenfolge! Allgemeine Java-Themen 8
C Reihenfolge einer SortedMap/TreeMap umkehren Allgemeine Java-Themen 3
N ArrayList nach Reihenfolge prüfen Allgemeine Java-Themen 2
C Netbeans - Aufruf-Reihenfolge Allgemeine Java-Themen 5
G Komische Reihenfolge mit dynamischem Proxy Allgemeine Java-Themen 9
Daniel_L Map/HashMap - Reihenfolge von Einträgen Allgemeine Java-Themen 4
L HashMap Key Reihenfolge umkehren Allgemeine Java-Themen 8
T Thread Reihenfolge Allgemeine Java-Themen 11
G synchronized-Sclüsselwort: welche Reihenfolge zum Betreten? Allgemeine Java-Themen 6
V JFilechooser, mehrere Datein selektieren und Reihenfolge? Allgemeine Java-Themen 2
T HashMap#values Reihenfolge Allgemeine Java-Themen 13
G Buchstaben in umkekehrter Reihenfolge ausgeben Allgemeine Java-Themen 4
V Reihenfolge ? Allgemeine Java-Themen 26
E Reihenfolge der Elemente einer ArrayList? Allgemeine Java-Themen 4
G ständig Iterator über Kollektion --> falsche Reihenfolge? Allgemeine Java-Themen 2
G Map oder List mit festgelegter Reihenfolge Allgemeine Java-Themen 4
A Reihenfolge bei KeyListner Allgemeine Java-Themen 3
T HashMap, sortiert nach Reihenfolge Allgemeine Java-Themen 7
O regulärer Ausdruck zum durchsuchen eines Strings verwenden Allgemeine Java-Themen 2
T Rotationswinkel eines Bildes bestimmen Allgemeine Java-Themen 4
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
M Array Rang eines Elements Allgemeine Java-Themen 4
OnDemand Teile eines Links entfernen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
W JSON parsen eines ,mit JS.stringify erstellten Strings Allgemeine Java-Themen 27
H Textposition eines gedrehten Textes verschieben Allgemeine Java-Themen 8
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
E Ersetzen eines Bildes in der Kopfzeile eines Word-Docx-Dokuments mit Apache POI XWPF Allgemeine Java-Themen 0
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
T Letztes Zeichen eines Strings enfernen Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
gotzi242 Schatzsuche mithilfe eines O(log n) Algorithmus Allgemeine Java-Themen 2
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
S Mittelwert anhand eines Stream berechnen Allgemeine Java-Themen 5
kodela Breite eines erweiterten Monitors feststellen Allgemeine Java-Themen 5
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
bueseb84 Wget mit Wildcards - oder wie lädt man bei JFrog die letzte Version eines Artifacts herunter Allgemeine Java-Themen 3
N Erkennen eines Programs Allgemeine Java-Themen 2
N Pausieren eines Programmes Allgemeine Java-Themen 4
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
F Wie bekommt man alle Filenamen eines Webserver Verzeichnisses Allgemeine Java-Themen 6
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
N Eigenschaften eines Buttons per Setter verändern Allgemeine Java-Themen 5
S Ausfuehrung eines Programms aufzeichnen..? Allgemeine Java-Themen 4
X Ermittlung eines doppelte Paars mit Streams Allgemeine Java-Themen 50
Stonie Prüfen von direkter Implementierung eines Interfaces Allgemeine Java-Themen 7
S Vorbereitung eines Praktikums Allgemeine Java-Themen 4
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
M Weiterleiten von empfangenen Nachrichten eines StompSessionHandlers Allgemeine Java-Themen 1
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
H Rename eines Projekts Allgemeine Java-Themen 1
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
Meeresgott Erste Schritte Sourcetree - Git | Suchen eines Commits Allgemeine Java-Themen 2
E Status eines USB Mikrofon abfragen Allgemeine Java-Themen 2
DaCrazyJavaExpert OOP Ansätze und Tipps zum Porgrammieren eines Taschenrechners Allgemeine Java-Themen 25
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
I Verbindung eines Java-Plugins mit Webserver Allgemeine Java-Themen 3
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
B Spalten eines 2d-Arrays Allgemeine Java-Themen 2
M Rechenprogramm eines wissenschaftlichen Taschenrechners Allgemeine Java-Themen 4
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
E Typüberprüfung eines chars Allgemeine Java-Themen 5
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
T Teile eines Double-Wertes verändern Allgemeine Java-Themen 2
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
H Datentypen Typ eines Arrays überprüfen Allgemeine Java-Themen 9
RalleYTN DPI eines Bildes ändern Allgemeine Java-Themen 4
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
K Bestimmten Bereich eines Strings lesen Allgemeine Java-Themen 6
C -Verschiedene Versionen eines Programms verwalten Allgemeine Java-Themen 7
O Datentypen Erstellung eines Containers, der verschachtelte Map-Strukturen beherbergen kann Allgemeine Java-Themen 0
A einmalige Ausführung eines Methodenabschnittes Allgemeine Java-Themen 3
F CPU Last eines Thread ausfindig machen Allgemeine Java-Themen 0
L Menge der Buchstaben eines Textes zählen Allgemeine Java-Themen 3
F Teil eines Bildes laden Allgemeine Java-Themen 1
Neumi5694 Operatoren regEx für das Erstellen eines Strings verwenden Allgemeine Java-Themen 3
P Löschen eines keys in einer SortedMap Allgemeine Java-Themen 5
RalleYTN Input/Output URL eines Zip Entry? Allgemeine Java-Themen 2
S Alle Methodenaufrufe eines Threads notieren..? Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben