OOP Überwachen, ob ein Objekt erzeugt wird

Juergen-87

Mitglied
Hallo,
ich bin an einer kleinen Spiel-Programmierung. Zuerst werden die Spieler geladen und dann wird mit der Methode los() die eigentliche Gui erzeugt. Auf der Gui wird dann per Button ein spiel-Objekt erzeugt. Und sobald das passiert ist, soll ein neues Fenster aufgehen, in dem das eigentliche Spiel gespielt wird. Jetzt weiß ich nicht genau, ob es da eine Art Listener gibt, der einspringt, sobald ein Objekt nicht mehr null ist???
Ist hab das erstmal so gelöst, dass ich nach erzeugen der Gui in der main() eine Schleife eingefügt habe, die nur dann verlassen wird, wenn das Objekt != null ist.
Gibt es da eine bessere Möglichkeit???
Mein Code an de Stelle:
Java:
public static void main(String[] args){
		spielerLaden();
		gui = new Gui();
		gui.los();
		while(spiel == null){
			System.out.println("");
		}
		System.out.println("funktioniert"); // nur testhalber, hier kommt dann der Fensterwechsel hin
	}
 

Bug Fisher

Bekanntes Mitglied
Hallo Jürgen87,

du hast richtig erkannt, dass so wie du das machst auf keinen Fall richtig und praktikabel sein kann.
Spinloops (oder busy waiting) sind -Gott sei Dank- nur auf Betriebssystemebene (und dort auch nur hier und da zu finden) notwendig und der einzige Weg.

Die Hälfte der Geschichte ist, dass Listener genau diesem Problem entgegenwirken; man nennt das inversion of control.

Für deinen Fall jedoch sieht die Sache anders und mithin viel einfacher aus:
Erzeuge dein Spiel-Objekt einfach in der main() oder aus Konstruktoren anderer Objekte.
Wenn du jetzt sagst, dass du das Spiel-Objekt erst nach Benutzen der gui (eben durch einen Klick) instanziieren kannst, weil dir sonst Parameter fehlen, dann lass den Spiel()-Konstruktor nur die Argumente verlangen, die du vorher schon weisst und erledige den Rest durch geeignete Setter.

Ausserdem: Erstelle besser alle Objekte im Konstruktor der Main-class und erzeuge in der main() nur ein Objekt davon. Es ist nicht OO, dass gui static ist, auch wenn du im Leben nur 1 Exemplar davon brauchst.

(Übrigens:
dein while(spiel == null), also das busy waiting, wird der main-Thread ausführen - somit kann es sogar, mehr oder weniger selten, dazu kommen, dass die Schleife durch den cache-mechanismus und die jit-hotspot-compilierung niemals beendet wird, da das Spielobjekt ja durch den gui-Thread (EDT) erstellt wird. Wenn dich das mehr interessiert, schau dir mal Erklärungen zum volatile-Schlüsselwort an.
)
 
Zuletzt bearbeitet:

Juergen-87

Mitglied
Danke für die schnelle Antwort.
Das letztere ist auch eingetreten :) Deshalb kam ich darauf, dass da irgendwas nicht stimmen kann.

Vielleicht habe ich auch im ganzen Programmaufbau etwas falsch gemacht.
Es läuft folgendermaßen ab.

Meine main() ist die Gui-Klasse. Die main() lädt dann als erstes über die Methode spielerLaden() die vorher gespeicherten Spieler und öffnet dann ein Fenster in dem ich einen Spieler auswählen kann und ein Level des Spiels auswähle. Dann drücke ich den Start-Button und danach soll ein Spiel im entsprechenden Level gestartet werden. Dazu übergebe ich dem Konstruktor der Klasse Spiel einen int-Wert der die Nummer des Levels (je nachdem welcher Radio-Button selektiert ist) darstellt.
Java:
public void actionPerformed(ActionEvent arg0) {
		if(eins.isSelected()){
			new Spiel(1);
		} else if(zwei.isSelected()){
			new Spiel(2);
		} else if(drei.isSelected()){
			new Spiel(3);
		} else if(vier.isSelected()){
			new Spiel(4);
		}
		startFrame.setVisible(false);
	}

Dabei wird gleich das Start-Fenster unsichtbar gesetzt und es soll das Spiel-Fenster geöffnet werden.
Das Spiel-Fenster und den ganzen Spielablauf wollte ich dann in der Spiel-Klasse programmieren (Habe ich aber noch nicht gemacht).
Und wenn das Spiel vorbei ist, sollte dann wieder in das Start-Fenster gewechselt werden.
Das sieht für mich (als Anfänger) jetzt vom Aufbau her erstmal ganz logisch aus. Aber vielleicht kann ich noch einen konkreten Tipp für mein Beispiel bekommen, ob besser etwas geändert werden soll.
Wenn noch ein paar Angaben zu meinem Programm fehlen, kann ich gerne noch was nachliefern.
 

Bug Fisher

Bekanntes Mitglied
Von deinen Informtionen her, würde ich dir Folgendes vorschlagen; ohne Anspruch auf Richtigkeit.
Erklärungen lasse ich einfach weg, weil du offenbar unerfahren mit dem Thema OO bist und das nach einiger Zeit für dich ganz selbstverständlich sein wird. (Eigentlich machst du es ja für Anfänger total richtig-schlüssig, da du erstmal rein prozederal-imperativ denkst)

Java:
public class Main() {
    private final Gui gui = new Gui();

    private Main() {}

    public static void main(final String... args) {
        new Main();
    }
}

public class Gui extends JFrame implements ActionListener {
    private final SpielerObjekt spieler;
    private Spiel spiel = new Spiel();

    public Gui() {
        spieler = spielerLaden();
        los();
    }

    private void los() {
    
    } 

    private SpielerObjekt spielerLaden() {

    }

    @Override
    public void actionPerformed(final ActionEvent e) {
        if(eins.isSelected()){
            spiel.setLevel(1);
        } else if(zwei.isSelected()){
            spiel.setLevel(2);
        } else if(drei.isSelected()){...}...

        spiel.show();
    }
}

Ich hoffe, ichg habe nichts übersehen.
Die Klasse Spiel bekommst du selbst hin.
 

kaoZ

Top Contributor
Java:
public class Gui extends JFrame implements


aiaiaia.....

ich vermute mal du hast dich da an dem Code des TO's orientiert ?

falls dem so sein sollte ,

@ TO :

Bevor du anfängst Spiele zu entwickeln würde ich mich zumindest 'vernünftig' mit den Grundlagen der OOP auseinandersetzen, ein geringer Ansatz ist ja bereits zu erkennen.

es gibt in fast keinem Fall einen Grund JFrame zu erweitern, abgesehen davon wirst du spätestens ins stocken geraten wenn du beim Mulithreading angekommen bist, weil du feststellst das deine Gui sich einfach aufhängt wenn du komplexere Aktionen ausführst da diese dann ebenfalls im EDT stattfinden, und deine Gui blockieren.

Selbstverständlich kann man das ganze auch Prozedural angehen , aber es wäre sinnfrei eine OO Programmiersprache zu wählen und dann Prozedural zu programmieren, grade bei doch schon recht größeren Projekten wie einem Spiel und außerdem wird das auf dermaßen unübersichtlich das du irgendwann nicht mal mehr durch deinen eigenen Code durchblicken wirst.

Zusätzlich sollten immer nur Objekte selbst ihren zustand ändern können.

[EDIT]Wenn du Dinge , egal welcher Art überwachen möchtest , kann ich als Stichwort mal
Observer Pattern in den Raum werfen.


[/EDIT]
 
Zuletzt bearbeitet:

Juergen-87

Mitglied
Vielen Dank für die guten Ideen. Da werde ich bestimmt einiges davon umsetzen können.

Grundsätzlich habe ich mich schon mit OOP befasst. Ich studiere Informatik im 1. Jahr und habe mir halt jetzt als Ferienprojekt ein Spiel vorgenommen, um so einige Sachen auszuprobieren und zu testen. Dabei geht es auch nicht um eigene Kreationen, sondern ich habe mir ein (analoges ;) ) Strategie-Kartenspiel genommen, das solitär gespielt wird. Also hier müssen keine Mehrspieler-Sachen umgesetzt werden und es gibt auch keine KI im Hintergrund, die das Spiel steuert. Das passiert dann wirklich mehr oder weniger prozedural in einer Schleife oder so. Das hab ich noch nicht so genau durchgeplant.

Aber zum Thema OOP gibt es dadrin mehrere Kartentypen, verschiedene Kartenstapel und etliche Sonderfunktionen, die auch teilweise voneinander erben und hierarchisch aufgebaut sind.
Das Problem liegt ja eher darin, den Programmstart und die Gui richtig hinzubekommen. Also in welcher Klasse liegt die Gui und in welcher wird dann das eigentliche Spiel durchgeführt.

Dafür fand ich die Idee von Bug Fisher ganz gut. Allerdings hab ich die ActionListener immer in extra Klassen geschrieben, weil ich z.B. mehrere Buttons und ComboBoxen auf der Gui habe, die jeweils einen extra ActionListener haben. Und ich bin nicht ganz sicher, warum ich JFrame erweitert muss???


@ kaoZ: Ich werde es jetzt vielleicht für das Projekt nicht brauchen, aber könnte ich denn mit Observer Patterns auch überwachen, ob einer Variablen ein Objekt zugeordnet wird? Ich hatte das Thema nämlich auch schon im Netz gefunden, aber kein passendes Beispiel. Ich hatte gedacht, dass Observer eher die Vorgänger der Listener sind und dass ich dann mit den Listenern auch alles machen könnte.
 
Zuletzt bearbeitet:

Bug Fisher

Bekanntes Mitglied
kaoZ hat gesagt.:
es gibt in fast keinem Fall einen Grund JFrame zu erweitern

Finde ich nicht. Meiner Meinung nach ist es näher am Modell der Objekt-Orientierung alle setter im Konstruktor der erweiternden Klasse aufzurufen, als irgendwo anders a là
Java:
final JFrame f = new JFrame();
f.setXXX();
f.add(...);
....


Also ich gebe dir in zwei Punkten recht:

1.) Da man prinzipiell als Klient an jeder beliebigen Stelle sowas wie
Java:
JFrame f = new Gui();
schreiben könnte, macht man eigentlich ein Implementierungsdetail öffentlich, was man nach OO ja nicht tun sollte. (Das gleiche trifft für implements ActionListener zu)
Java:
ActionListener al = new Gui();
Hier wäre private Vererbung, wie es in C++ möglich ist, angebracht, da hast du recht. Gibt es in Java aber nicht. Ist IMHO aber nicht ganz so schlimm, da man zwar NEUE Exemplare von aussen beliebig erzeugen könnte, das eigene aber trotzdem nicht kompromittieren kann (richtige Kapselung vorausgesetzt)

2.) Man kann natürlich auch zum Factory Pattern greifen um 1) zu umgehen. Soetwas wie
Java:
private static JFrame createGui()
würde trotz der Schwäche von Java gegenüber C++ das Problem von 1) umgehen. Stimmt.
Zumindest ich finde aber, dass das Argument oben gegen 1) ausreicht, um auch 2) nicht zu nutzen.
Ich persönlich nutze das Factory Pattern schon, aber nur wenn potentiell auch viele Exemplare, deren (komplexere) Konfiguration versteckt werden soll, angefordert werden. Das trifft auf ein HauptFenster, das ein JFrame ist, nicht zu.
Bei Dialogen ist das was anderes, das macht die Java-Bibliothek ja auch so vor. JOptionPane.show...Dialog() mit verschiedenen Überladungen ist ja ne Factory.
 

stg

Top Contributor
Finde ich nicht. Meiner Meinung nach ist es näher am Modell der Objekt-Orientierung alle setter im Konstruktor der erweiternden Klasse aufzurufen, als irgendwo anders

Code:
public class MaxMueller extends Person {
    public MaxMueller() {
        this.setName("Max Müller");
    }
}

So in etwa? ;)
 

Bug Fisher

Bekanntes Mitglied
stg hat gesagt.:
Java:
public class MaxMueller extends Person {
    public MaxMueller() {
        this.setName("Max Müller");
    }
}

Das wäre natürlich grober Unfug, aber ich fasse deine Antwort als Provokation auf, und gehe vor diesem Hintergrund davon aus, dass du auch eher kaoZ's Meinung bist...

Hmm, ich sollte also nicht von JFrame erben, wenn es nicht wirklich um Funktionalität oder Member erweitert wird, weil es nicht erweitert wird ?
Wörter auf die Goldwaage: :) Bei Vererbung herrscht eine "ist-ein" Beziehung, die ist auch gegeben, wenn ich nichts (nichtprivates) hinzufüge.
Im Sinne der Wartbarkeit und der Trennung von Zuständigkeiten macht es IMHO aber doch Sinn, von JFrame zu erben und zB nur eine private void setupUI() hizuzunehhmen. BTW: wieso gibt es dann in der C++Welt den Ausdruck der ImplementierungsVERERBUNG, wenn eben nichts öffentliches hinzukommt ?
Ist ein JFrame nicht mehr als ein JFrame, wenn es gekapselt das gesamte Layout managt ?

Also ich will bestimmt nicht streiten, aber ich bleibe bei meiner Meinung.
 

kaoZ

Top Contributor
Nach Konvention soll man eben aber auch eine Klasse nur erweitern wenn man ihr Funktionalität hinzufügt , da sich hier aber das ganze nicht im JFrame sondern in einem Container innerhalb des Frames abspiel und dies im Normalfall ein JPanel ist, frage ich mich was gegen folgenden Ansatz
spricht :

Java:
public class Gui{

	public static void main(String[] args){
		JFrame f = new JFrame("GameTest");
		f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		f.setContentPane(new GamePanel());
		f.setResizable(false);
		f.pack();
		f.setLocationRelativeTo(null);
		f.setVisible(true);
	}
}

die Gui stellt einfach nur das Fenster und kapselt die Funktionalität des "Rahmens" welcher als Content eben den GamePanel beinhaltet.

Java:
import game.gamestate.GameStateManager;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferedImage;
import javax.swing.JPanel;


@SuppressWarnings("serial")
public class GamePanel extends JPanel{

	// dimensions
	public final static int WIDTH	= 320;
	public final static int HEIGHT	= 240;
	public final static int SCALE	= 2;
	
	// image
	private BufferedImage image;
	
	// gameloop
	private GameLoop loop;
	
	// gamestatemanager
	private GameStateManager gsm;
	
	public GamePanel(){
		setPreferredSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));
		setFocusable(true);
		requestFocus();
	}

	
	public void init(){
		loop.start();
		image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
		gsm = new GameStateManager();
	}
	public void update(){
		gsm.update();
	}
	public void render(){
		Graphics g = image.getGraphics();
		
		if(g != null){
			gsm.draw(g);
		}
	}
	public void draw(){
		Graphics g = getGraphics();
		
		if(g != null) {
			g.drawImage(image, 0, 0, WIDTH * SCALE, HEIGHT * SCALE, null);
		}
		else{
			System.exit(0);
		}
	}
	
	@Override
	public void addNotify(){
		super.addNotify();
		addKeyListener(new GameListener());
		loop = new GameLoop(this);
	}
	
	class GameListener implements KeyListener{

		@Override
		public void keyTyped(KeyEvent e){}

		@Override
		public void keyPressed(KeyEvent e){
			gsm.keyPressed(e.getKeyCode());
		}

		@Override
		public void keyReleased(KeyEvent e){
			gsm.keyReleased(e.getKeyCode());
		}
	}
}

Also alleine von der Kapselung her finde ich den Ansatz einfach Sauberer, muss natürlich letzten endes jeder selber wissen ;)

Das auslagern des GameThreads und des dazugehörenden loops scheint anfangs etwas verwirrend, aber ich hielt es für sauberer da das runnable ja letzen endes nichts im GamePanel zu suchen hat.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Überwachen der Zwischenablage, aber wie? Allgemeine Java-Themen 10
hdi Überwachen des err-Streams? Allgemeine Java-Themen 8
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
T Objekt Array Aufgabe mit Busdatenbank Allgemeine Java-Themen 2
Maxi-JOO Klassen Dummy Objekt in anderen Constructor übergeben Allgemeine Java-Themen 5
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
A Objekt aus anderen Objekten machen Allgemeine Java-Themen 8
SaftigMelo In einem Winkel Objekt bewegen Allgemeine Java-Themen 2
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
H Objekt speichern und laden Allgemeine Java-Themen 1
H Objekt speichern und laden Allgemeine Java-Themen 1
J Objekt in Bytestream umwandeln Allgemeine Java-Themen 12
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
J Information von getSource() Objekt auslesen Allgemeine Java-Themen 1
Drachenbauer Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt? Allgemeine Java-Themen 5
S Variable als Objekt Name Allgemeine Java-Themen 3
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
T Objekt in Array packen Allgemeine Java-Themen 6
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
S Neues Objekt darstellen Allgemeine Java-Themen 4
J Best Practice Objekt an alle Klassen verteilen ( Discord Bot ) Allgemeine Java-Themen 7
D Objekt-Suche mit mehreren optionalen Parametern Allgemeine Java-Themen 6
M Klassen Objekt weiter geben Allgemeine Java-Themen 1
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
S Applet Überprüfen ob ein Objekt angeklickt wurde Allgemeine Java-Themen 2
RalleYTN 3D Objekt Translation basierend auf Rotation (Probleme mit Z Rotation) Allgemeine Java-Themen 0
B Von String zu <Objekt> ||Speichern/Laden Allgemeine Java-Themen 17
G Neues Objekt aus List<JsonObject> mit Stream Allgemeine Java-Themen 4
P Threads Objekt im Konstruktor anders wie im Run()-Block Allgemeine Java-Themen 10
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
K Textdatei als Objekt Allgemeine Java-Themen 4
Viktim Classenname zu Objekt Allgemeine Java-Themen 4
P Entity Objekt Methoden vs Service methoden Allgemeine Java-Themen 2
D Datentypen Klassenattribut aus Objekt in generischer Liste Allgemeine Java-Themen 15
O Klassen Bruch im gleichen Objekt Speichern Allgemeine Java-Themen 1
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
C Liste checken auf MINDESTENS ein Objekt | Bukkit Allgemeine Java-Themen 3
K Best Practice JFrame Objekt allgemein zugänglich machen Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
D Objekt entlang eines Funktionsgraphens bewegen Allgemeine Java-Themen 6
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
D Java Objekt als Service in Runtime registrieren Allgemeine Java-Themen 1
S Interaktion mit einer website (website als Objekt?) Allgemeine Java-Themen 3
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
Thallius Hash über serialisiertes Objekt? Allgemeine Java-Themen 3
Developer_X Input/Output Serialisiertes Objekt speichern und laden Allgemeine Java-Themen 1
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
F Neues Objekt aus .CSV definition Allgemeine Java-Themen 3
K Methoden Objekt wird nicht erkannt Allgemeine Java-Themen 11
P Objekt mit verschiedenen Datentypen Allgemeine Java-Themen 5
T Objekt kontaktiert seinen "erzeuger" Allgemeine Java-Themen 5
S Objekt orientierte Programmierung Allgemeine Java-Themen 7
C Objekt Datenverlust nach Methodenaufruf Allgemeine Java-Themen 9
H JavaFX Von einer Methode auf stage-Objekt zugreifen Allgemeine Java-Themen 3
T WeakReference/PhantomReference: Mitbekommen WELCHES Objekt nun GC'ed wird Allgemeine Java-Themen 2
T Class-Objekt mit URLClassloader Allgemeine Java-Themen 7
P Konsoleneingabe übernehmen und Objekt instanzieren. Allgemeine Java-Themen 5
E Auf Java-Objekt aus anderer Instanz zugreifen Allgemeine Java-Themen 26
L Klassen Polymorphie:2 Attribute gleichen Namens in einem Objekt Allgemeine Java-Themen 6
P Objekt Array in Datei Speichern Allgemeine Java-Themen 3
F Dynamisch ein Objekt einer bestimmten Subklasse erstellen Allgemeine Java-Themen 7
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
V Objekt löschen Allgemeine Java-Themen 7
A OOP Wie auf Objekt der Superklasse zugreifen? Allgemeine Java-Themen 6
S Datei in File-Objekt mit UTF-8 einlesen Allgemeine Java-Themen 2
M neues Objekt speichern, nicht Referenz Allgemeine Java-Themen 10
B synchronisierter zugriff auf Objekt Allgemeine Java-Themen 6
F Objekt einer Datei verschieben, aber Verzeichnispfad fehlt Allgemeine Java-Themen 6
C Objekt Typ herausfinden Allgemeine Java-Themen 5
E Objekt beim Erzeugen in ArrayList Allgemeine Java-Themen 9
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
D Eigenen Objekt Pool Allgemeine Java-Themen 15
C blueJ: Objekt wird nicht in Objektleiste angezeigt Allgemeine Java-Themen 8
T Objekt 2x deserialisieren, aber nur 1x im Heap haben? Allgemeine Java-Themen 4
sambalmueslie Benachrichtigung bei neuer Objekt-Instanz Allgemeine Java-Themen 5
U Konstante in Objekt definieren Allgemeine Java-Themen 6
D this mit Objekt überschreiben Allgemeine Java-Themen 17
R Synchronized - auf welchem Objekt Allgemeine Java-Themen 16
E Objekt erstellen Allgemeine Java-Themen 7
M Timer von nicht existiertem Objekt stopen Allgemeine Java-Themen 5
M Swing-Frontend abhängig von ausgewähltem Objekt Allgemeine Java-Themen 4
J Lebt das Objekt noch?? Allgemeine Java-Themen 12
K Objekt einer konkreten Implementierung eines Interfaces durch übergebenen String Allgemeine Java-Themen 2
K Objekt-Austausch zwischen zwei Programmen über System-Clipboard Allgemeine Java-Themen 5
S Performance Frage: Objekt oder static? Allgemeine Java-Themen 33
B Speicherverbrauch Objekt-Referenz Allgemeine Java-Themen 11
D Browser-Objekt erzeugen Allgemeine Java-Themen 8
B FileWriter / FileReader testen / Mock-Objekt für Unit Tests? Allgemeine Java-Themen 6
A Iterationen einer XML-Datei in einem Objekt sichern Allgemeine Java-Themen 5
R Objekt zur Laufzeit zerstören? Allgemeine Java-Themen 12
hdi Frage zur Objekt Initialisierung Allgemeine Java-Themen 4
X Prozess-Objekt nach Ausführung der destroy-Methode null oder nicht null ? Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben