---
title: 'Initialisierung von Klassenvariablen'
url: 'https://tutego.de/blog/javainsel/2016/11/initialisierung-von-klassenvariablen'
markdown: 'https://tutego.de/blog/javainsel/2016/11/initialisierung-von-klassenvariablen.md'
date: '2016-11-02'
description: 'Wo werden eigentlich Klassenvariablen initialisiert? Im Konstruktor ergibt dies keinen Sinn, da für Klassenvariablen keine Objekte angelegt werden müssen. Dafür gibt es den static{}-Block. Dieser wird immer dann ausgeführt, wenn der Klassenlader eine Klasse in die Laufzeitumgebung geladen hat. Für …'
taxonomy:
  category:
    - Allgemein
---

# Initialisierung von Klassenvariablen

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## Initialisierung von Klassenvariablen

02.11.2016 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

Wo werden eigentlich Klassenvariablen initialisiert? Im Konstruktor ergibt dies keinen Sinn, da für Klassenvariablen keine Objekte angelegt werden müssen. Dafür gibt es den static{}-Block. Dieser wird immer dann ausgeführt, wenn der Klassenlader eine Klasse in die Laufzeitumgebung geladen hat. Für eine statische Initialisierung wird also wieder der Compiler etwas einfügen:

```java
Was wir schreibenWas der Compiler generiertclass Beer {
static String isFreeFor = "Homer";
}class Beer {
static String isFreeFor;
static {
isFreeFor = "Homer";
}
}
```

Klassenintialisierer sind nicht ganz ungefährlich, denn wenn der Code eine Ausnahme auslöst, dann gibt es einen harten lang.`ExceptionInInitializerError`. Leser können das testen, in dem geändert wird:

```java
static String isFreeFor = "Homer".substring( -1 );
```

und dann aus dem Hauptprogramm aufrufen:

```java
out.println( Beer.isFreeFor );
```

Kategorien: [Allgemein](https://tutego.de/blog/javainsel/category/allgemein/)

## 2 Kommentare

**Christian Ullenboom** · [12.12.2016 11:33](#comment-649959)

Danke!

**Klaus-Peter Budzinski** · [12.12.2016 09:35](#comment-649953)

Klassenintialisierer sind nicht ganz ungefährtlich, denn wenn der Code eine Ausnahme das "t" bei ungefährtlich passt nicht an dieser Stelle

Die bisherigen Kommentare wurden aus WordPress übernommen. Neue Kommentare sind derzeit geschlossen.

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Aufgebaute Exemplare mitzählen](https://tutego.de/blog/javainsel/2016/11/aufgebaute-exemplare-mitzaehlen.md)
- Next: [Java 9 bekommt Ahead-of-Time-Compiler](https://tutego.de/blog/javainsel/2016/11/java-9-bekommt-ahead-of-time-compiler.md)
