Sinn von Instanzierung ohne Referenz

Luk10

Top Contributor
Hallo,

Heute hab ich folgendes gelesen:

Java:
public class GamePanel extends JPanel {
public static void main(String[]args) {
  new GamePanel(800, 600);
  }
  public GamePanel (int w, int h) {
     this.setPreferredSize(new Dimension(w, h));
     //Viel mehr Code
  }
}

Wieso referenziert man da GamePanel nicht ganz normal mit
Code:
GamePanel p = new GamePanel(800, 600);
und schreibt dann
Code:
p.setPreferredSize(...)
?!

Danke, Luk
 
Zuletzt bearbeitet:

Foermchen82

Top Contributor
das sind meistens TestFunktionen mit denen du deine eigenen GuiElemente anschauen kannst, ohne ein Programm drumherum stricken zu müssen.

Pack einfach ne Main-Methode in deine Frame-Klasse und du kannst den Frame direkt starten. Die Referenz brauchst du dann nicht.
 

eRaaaa

Top Contributor
? Wenn man keine Referenz braucht, braucht man eben keine ...wie du das machst, entscheidest du..was soll man da jetzt groß drauf antworten?

Wieso schreibst du

this.setPreferredSize(new Dimension(w, h));

anstatt von
Dimension d = new Dimension(w, h);
this.setPreferredSize(d);

?
(könntest du dich da ja genauso fragen..)
 

mvitz

Top Contributor
Vermute mal, dass GamePanel noch extends JFrame oder ähnliches hat.
Das erzeugen startet dann die GUI auf dem neue EDT Thread. Aus diesem Grunde braucht man keine Referenz in der Main.

Wieso man setPrefferedSize jetzt auf dem Objekt aufruft oder direkt im Konstruktor ist eigentlich egal bzw. eine Designentscheidung. Aber das GamePanel sollte ja schon selber seine Größe kennen, oder?
 
S

SlaterB

Gast
der setPreferredSize()-Aufruf ist hier ja etwas unabhängig davon, ob der Aufrufer eine Variable anlegt oder nicht,
stell dir vor 12 Klassen müssen derartige Objekte erstellen, sollen die dann alle denselben setPreferredSize()-Aufruf dazuschreiben?
was die Klasse selber kann ohne Aufrufer, darf ruhig schon im Konstruktor stehen

'Instanzierung ohne Referenz' macht dann Sinn, wenn das Objekt von sich aus selber agiert, z.B. einen Thread startet
oder wie hier im Falle eines (J)Frames sich selber auf den Bildschirm zaubert usw.
oder einfach nur nach Ende des Konstruktors gar nicht mehr benötigt wird, weil die Aktion fertig ist
 

Luk10

Top Contributor
Hm ich schreib das gar nicht hab das nur gelesen ... und hab mich gewundert 1. Dass soetwas überhaupt funktioniert und 2. Wieso man das macht (Könnte ja einen Grund haben)!

Danke für die schnellen anrworten!

Luk :toll

Edit:

Noch mal so eine ähnliche Frage:

Java:
public class Sprite {
  public Sprite (double x, double y) {
    this.x = x;
    this.y = y;
  }
}

Was genau ist denn hier
Code:
this.x
und
Code:
this.y
? Sie wurden an keiner Stelle in der Klasse als Instanzvariablen deklariert!

Kann man das so sagen anstatt double x und double y als Instanzvariavle zu schreiben und deklarieren?
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Kann man das so sagen anstatt double x und double y als Instanzvariavle zu schreiben und deklarieren?
nein, so wie es da steht ist es definitiv falsch. Entweder da fehlt die Deklaration der Variablen, oder aber die Klasse erbt sie von einer anderne Klasse, dann würde allerdings das extends xxxx fehlen... ;(
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Interfaces von Interfaces macht das noch Sinn? Java Basics - Anfänger-Themen 21
F Hat es noch einen Sinn, alte Versionen zu lernen Java Basics - Anfänger-Themen 45
berserkerdq2 Wo ist der SInn, dass man den Stream, den ich zum Schreiben nutze, outputstream nenne? Java Basics - Anfänger-Themen 5
H Sinn von Interfaces Java Basics - Anfänger-Themen 21
W Sinn eines Singleton ? Java Basics - Anfänger-Themen 14
R getUserProperties() macht für mich keinen Sinn Java Basics - Anfänger-Themen 8
E Sinn: final in Parameterliste verwenden Java Basics - Anfänger-Themen 2
B Sinn von Lambdas? Java Basics - Anfänger-Themen 16
5 Welchen Sinn hat ein Runnable Java Basics - Anfänger-Themen 6
P OOP Sinn von abstrakten Klassen Java Basics - Anfänger-Themen 2
M Kapselung Datenkapselung Sinn direkter Zugriff? Java Basics - Anfänger-Themen 1
B Der Sinn von Arrays Java Basics - Anfänger-Themen 2
Q Container sinn? Java Basics - Anfänger-Themen 3
S string index out of range - es ergibt keinen Sinn Java Basics - Anfänger-Themen 6
C Sinn eines Interfaces? Java Basics - Anfänger-Themen 4
J Sinn/Nutzen von Scanner Java Basics - Anfänger-Themen 23
B Sinn von Reflections Java Basics - Anfänger-Themen 10
H Vererbung Prinzip der Ersetzbarkeit-Sinn? Java Basics - Anfänger-Themen 9
F Sinn der SuppressWarnings("unused")-Annotation Java Basics - Anfänger-Themen 5
R Sinn des programmes Java Basics - Anfänger-Themen 10
W Sinn von Konstruktorsyntax und finalize Java Basics - Anfänger-Themen 14
J Worin besteht der Sinn und Anwendungsbereich von Dreidimensionalen Arrays? Java Basics - Anfänger-Themen 11
J Datentypen Was ist der Sinn vom Datentyp "char" ? Java Basics - Anfänger-Themen 11
T Sinn von finally? Java Basics - Anfänger-Themen 3
M Variablen Zinseszinsberechnung - Variable ergibt keinen Sinn Java Basics - Anfänger-Themen 15
A Klassen Sinn des Konstruktors Java Basics - Anfänger-Themen 12
P Sinn des Security Managers Java Basics - Anfänger-Themen 2
J Welchen Sinn haben abstrakte Methoden? Java Basics - Anfänger-Themen 4
D Sinn von Jar Dateien Java Basics - Anfänger-Themen 5
D Sinn von Interfaces - Wozu? Java Basics - Anfänger-Themen 9
K Sinn eigener Exceptions Java Basics - Anfänger-Themen 11
hdi Sinn von RuntimeExceptions? Java Basics - Anfänger-Themen 90
Developer_X NullPointer Exception ohne Sinn Java Basics - Anfänger-Themen 19
L Sinn hinter Generic? Java Basics - Anfänger-Themen 5
M Der Java Schlüsselwort null; ?Welche Anweisung und Sinn? Java Basics - Anfänger-Themen 12
A Macht es Sinn Arraylisten mit Gettern zu übergeben? Java Basics - Anfänger-Themen 19
M Variable überwachen und Sinn eines Threads Java Basics - Anfänger-Themen 7
G Sinn vo OOP Java Basics - Anfänger-Themen 5
P Unterschied zwischen Interface und Vererbung und Sinn? Java Basics - Anfänger-Themen 5
G sinn von JList Java Basics - Anfänger-Themen 6
K Sinn von Interfaces Java Basics - Anfänger-Themen 10
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
G unklares Verhalten nach Instanzierung neuer Klasse Java Basics - Anfänger-Themen 3
R OOP Instanzierung in verschiedenen Klassen Java Basics - Anfänger-Themen 8
J Referenz und Instanzierung Java Basics - Anfänger-Themen 25
C String Objekte Vergleich je nach Instanzierung unterschiedlich!!?!! Java Basics - Anfänger-Themen 4
B Zwei Unterschiedliche Klassen bei Instanzierung Java Basics - Anfänger-Themen 5
neurox Datentypen Instanzierung eines Gernerischen Objektes? Java Basics - Anfänger-Themen 10
F HashSet und LinkedHashSet Instanzierung warum so? Java Basics - Anfänger-Themen 7
F Verständnisfrage Objekt instanzierung / Polymorphie Java Basics - Anfänger-Themen 10
G import vs. direkte Instanzierung Java Basics - Anfänger-Themen 2
H Probleme mit der Instanzierung eines Objektes Java Basics - Anfänger-Themen 3
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
V JSON-Objs aus JSON-Obj filtern und löschen (Manipulation ohne Kenntnis der vollst. Struktur) Java Basics - Anfänger-Themen 12
O HashTable kann ohne Performance-Verlust in Multithreaded-Anwendungen eingesetzt werden. Java Basics - Anfänger-Themen 6
T Mehrere if bedingungen ohne & Java Basics - Anfänger-Themen 2
M methode aufrufen ohne parameter Java Basics - Anfänger-Themen 1
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
Mugetsu35 ArrayList Update ohne Index Java Basics - Anfänger-Themen 6
P 2n Potenzieren ohne Math.pow oder pow Java Basics - Anfänger-Themen 8
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
JavaBeginner22 TextArea, ohne Zeilenumbruch? Java Basics - Anfänger-Themen 4
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
S Was macht ++ ohne Schleife? Java Basics - Anfänger-Themen 4
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
U Methode wird genutzt, ohne dass ich die aufrufe? Java Basics - Anfänger-Themen 4
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
M Wie verknüpfe ich eine Bedingung mit einer Methode ohne if-Verzweigung & Bedingungsoperator? Java Basics - Anfänger-Themen 2
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
S Chars vergleichen ohne Betrachtung der Groß und Kleinschreibung Java Basics - Anfänger-Themen 7
javapingu Variablenwerte ändern ohne return Statement? Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
M for schleife ohne geschweifte Klammer Java Basics - Anfänger-Themen 15
KogoroMori21 Variable im Parameter und Ohne Java Basics - Anfänger-Themen 5
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
L Zufälligen Zahlencode, ohne mehrfacher Verwendung einer Ziffer Java Basics - Anfänger-Themen 15
Sinan Arrays auflisten ohne Wiederholung Java Basics - Anfänger-Themen 28
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
J Programm beenden ohne System.exit() oder Runtime.exit() Java Basics - Anfänger-Themen 5
S Teilen ohne Rest Java Basics - Anfänger-Themen 15
Tino1993 Ellipse über draw Funktion ohne spur wandern lassen Java Basics - Anfänger-Themen 6
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
C Programm ausführen ohne JRE? Java Basics - Anfänger-Themen 3
C NumberFormatException: null ohne Ausnahmebehandlung stoppen Java Basics - Anfänger-Themen 7
P Methode trim() ohne StringBuilder Java Basics - Anfänger-Themen 1
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
K Programm stoppt einfach ohne Grund Java Basics - Anfänger-Themen 4
C Projekte in 2 versch. Arbeitsbereichen: auf ein Projekt verweisen (ohne Fehler zu bekommen) Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben