Deklarieren im Detail

Discordia

Mitglied
Hallo liebe Forengemeinde,

int a;

Was passiert hier ganz genau? Passiert da nur Javaintern etwas? Sperrt Java dann nur diese Kombination aus Datentyp und Variablenname, damit sowas nicht passieren kann:

int a;
int a;

Oder reserviert Java mit dieser Zeile schon einen Speicherbereich? Kommt man irgendwie an diese Speicheradresse ran?
Java muss ja wissen, wo der Speicherbereich dieser Integer anfängt, also die Speicheradresse, ist das dann nicht auch schon irgendwie wie eine Referenz.(man kommt nur nicht an sie ran?)
Was ist mit der Information um welchen Datentyp es sich handelt der wird in diesem Speichersegment nicht mit gespeichert oder das macht Java irgendwie anders oder?
Viele Frage ich hoffe nicht zu verwirrende^^
 

TKausL

Top Contributor
Hallo,

wenn du eine Variable in Java Deklarierst wird diese im RAM reserviert und mit einem default-Wert gefüllt, welcher bei nicht-primitiven "null" ist und bei int müsste es 0 sein. Bei der Instanzerstellung einer Klasse (bei Instanzvariablen) wird glaube ich erst im letzten Schritt der default-Wert gesetzt, wenn bis dahin kein eigener Wert gesetzt wurde, bin mir da aber nicht sicher.

An die SpeicherAdresse kommst du in Java nicht ran, aber natürlich hat Java intern auch die Speicheradresse und den Datentypen gespeichert.
 

X5-599

Top Contributor
Ich denke das bezieht sich nur auf Instanzvariablen, die durch den Konstruktor initialisiert werden? Lokale Variablen erhalten (zumindest per Debugger nachvollziehbar) keinen Standardwert.
 

TKausL

Top Contributor
Hallo,

auch in localen Variablen die nicht gefüllt sind findest du ein null bzw. einen Wert (0, 0.0, false, ...). Ob die JVM nun einfach so tut als wäre 'null' drin wenn GARNICHTS drinsteht weiss ich nicht. Aber selbst wenn ein int leer ist, '00000000000000000000000000000000' ist auch ein Wert ;)
 

Discordia

Mitglied
wenn du eine Variable in Java Deklarierst wird diese im RAM reserviert und mit einem default-Wert gefüllt, welcher bei nicht-primitiven "null" ist und bei int müsste es 0 sein.

Java initialisiert doch aber primitive Datentypen nicht selber oder? Also wenn man versucht int a; auszugeben wird er ja meckern und nicht einfach 0 ausgeben. Also wie X5-599 es sagt.

Gibt es Gründe warum nur Java was von der Speicheraddresse weiß und man nicht rankommt?
 

Bleiglanz

Gesperrter Benutzer
Nur zur Info: Lokale Variablen in Methoden
Java:
...
int a;
System.out.print(a);
...
müssen initialisiert werden, sonst Compiler Fehler ("may not have initialized")

Member-Variablen von Klassen werden immer zu 0 initialisiert
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
frager2345 Thread - Methoden synchronized deklarieren Java Basics - Anfänger-Themen 10
Lion.King Array deklarieren und initialisieren Java Basics - Anfänger-Themen 5
R Ein Multidimensionales String Array initialisieren und Deklarieren Java Basics - Anfänger-Themen 2
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
L String als ungültig deklarieren Java Basics - Anfänger-Themen 2
M Deklarieren und Initialisieren von Arrays Java Basics - Anfänger-Themen 3
Dawinartor Erste Schritte Statisch, Initialisieren, Deklarieren, ... Java Basics - Anfänger-Themen 1
M Vererbung Funktionen in Basisklasse deklarieren Java Basics - Anfänger-Themen 4
I Abstrakte Klasse - static Attribute deklarieren Java Basics - Anfänger-Themen 14
S Warum kann ich nicht mehr als eine Variable in einer for Schleife deklarieren ? Java Basics - Anfänger-Themen 1
V Variablen Double später deklarieren Java Basics - Anfänger-Themen 7
A Problem beim Deklarieren von einem BOOLEAN Java Basics - Anfänger-Themen 4
H Best Practice ?: wo deklarieren um überall draufzu zu greifen... Java Basics - Anfänger-Themen 6
N Variablen Variable in Main deklarieren und in anderer Methode nutzen Java Basics - Anfänger-Themen 12
T Variable deklarieren, ohne zu initialisieren... Java Basics - Anfänger-Themen 3
A richtiges deklarieren ArrayList Java Basics - Anfänger-Themen 5
1 float Array deklarieren Java Basics - Anfänger-Themen 10
K Methoden als private deklarieren? Java Basics - Anfänger-Themen 13
D Variablen Variablen deklarieren, funktioniert nicht? Java Basics - Anfänger-Themen 2
A Array implizit als Paramter deklarieren Java Basics - Anfänger-Themen 5
A klasse deklarieren? Java Basics - Anfänger-Themen 11
B ein Array deklarieren Java Basics - Anfänger-Themen 8
Joy drei- und mehrdimensionales Array deklarieren Java Basics - Anfänger-Themen 9
S globale Variable deklarieren Java Basics - Anfänger-Themen 10
D Problem mit Objekten Vererbung deklarieren initialisieren usw Java Basics - Anfänger-Themen 12
Luk10 Methode: Varibalen Deklarieren Java Basics - Anfänger-Themen 8
M Effizienter Variablen außerhalb einer Schleife zu deklarieren? Java Basics - Anfänger-Themen 1
V Variablen deklarieren Java Basics - Anfänger-Themen 22
K Referenzvariable vorab deklarieren Java Basics - Anfänger-Themen 6
B objekt wann als final deklarieren? Java Basics - Anfänger-Themen 2
I FileInputStream global deklarieren Java Basics - Anfänger-Themen 2
N Variablen deklarieren Java Basics - Anfänger-Themen 7
A char variable deklarieren und nicht initialisieren Java Basics - Anfänger-Themen 10
G Sollte man Klassenvariablen als final deklarieren? Java Basics - Anfänger-Themen 3
F Variablen von unbekannter Anzahl deklarieren Java Basics - Anfänger-Themen 9
M Textfelder mit Schleife deklarieren? Java Basics - Anfänger-Themen 33
B getrennt deklarieren / initialiseren ? Java Basics - Anfänger-Themen 10
W Variable mit Namen aus Variablen deklarieren Java Basics - Anfänger-Themen 2
T Allg. Variable deklarieren Java Basics - Anfänger-Themen 8
F Array deklarieren und über Methode aufrufen Java Basics - Anfänger-Themen 13
R Eigene Exception deklarieren Java Basics - Anfänger-Themen 3
F Array richtig Deklarieren ? Java Basics - Anfänger-Themen 7
K Array deklarieren und befüllen; "]" expected Java Basics - Anfänger-Themen 7
N getX() als Variable deklarieren Java Basics - Anfänger-Themen 5
M Jede Variable als private, protected etc. deklarieren? Java Basics - Anfänger-Themen 7
Z DefaultMutableTreeNode Object als List deklarieren? Java Basics - Anfänger-Themen 4
D Variablen deklarieren Java Basics - Anfänger-Themen 4
R Mit Schleife Variablen deklarieren Java Basics - Anfänger-Themen 13
G Variable deklarieren Java Basics - Anfänger-Themen 3
Z Arrays deklarieren Java Basics - Anfänger-Themen 14
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
Z Super einfache Frage For-Schleife im Detail Java Basics - Anfänger-Themen 3
C Kopie einer ArrayList: Fehler im Detail? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben