{"id":3218,"date":"2015-11-07T12:58:26","date_gmt":"2015-11-07T10:58:26","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=3218"},"modified":"2015-11-07T13:02:22","modified_gmt":"2015-11-07T11:02:22","slug":"zusaetzliche-statische-initialisier-im-enum","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2015\/11\/zusaetzliche-statische-initialisier-im-enum\/","title":{"rendered":"Zus\u00e4tzliche statische Initialisier im enum"},"content":{"rendered":"<p>Es sind Bl\u00f6cke der Art static { \u2026 } im Rumpf eines Aufz\u00e4hlungstyps erlaubt. L\u00e4dt die Laufzeitumgebung einer Klasse, initialisiert sie der Reihe nach alle statischen Variablen bzw. f\u00fchrt die static-Bl\u00f6cke aus. Die Aufz\u00e4hlungen sind statische Variablen und werden beim Laden initialisiert. Steht der statische Initialisierer hinter den Konstanten, so wird auch er sp\u00e4ter aufgerufen als die Konstuktoren, die vielleicht auf statische Variablen zur\u00fcckgreifen wollen, die der static-Block initialisiert. Ein Beispiel:<\/p>\n<pre>public enum Country {<\/pre>\n<pre>\u00a0 GERMANY, UK, CHINA;<\/pre>\n<pre>\u00a0 {<\/pre>\n<pre>\u00a0\u00a0\u00a0 System.out.println( \"Objektinitialisierer\" );<\/pre>\n<pre>\u00a0 }<\/pre>\n<pre>\u00a0 static {<\/pre>\n<pre>\u00a0\u00a0\u00a0 System.out.println( \"Klasseninitialisier\" );<\/pre>\n<pre>\u00a0 }<\/pre>\n<pre><\/pre>\n<pre>\u00a0 private Country() {<\/pre>\n<pre>\u00a0\u00a0\u00a0 System.out.println( \"Konstruktor\" );<\/pre>\n<pre>\u00a0 }<\/pre>\n<pre><\/pre>\n<pre>\u00a0 public static void main( String[] args ) {<\/pre>\n<pre>\u00a0\u00a0\u00a0 System.out.println( GERMANY );<\/pre>\n<pre>\u00a0\u00a0}<\/pre>\n<pre>}<\/pre>\n<p>Die Ausgabe ist:<\/p>\n<p>Objektinitialisierer<\/p>\n<p>Konstruktor<\/p>\n<p>Objektinitialisierer<\/p>\n<p>Konstruktor<\/p>\n<p>Objektinitialisierer<\/p>\n<p>Konstruktor<\/p>\n<p>Klasseninitialisier<\/p>\n<p>GERMANY<\/p>\n<p>Die Ausf\u00fchrung und Ausgabe h\u00e4ngt von der Reihenfolge der Deklaration ab und jede Umsortierung f\u00fchrt zu einer Verhaltens\u00e4nderung. Jetzt k\u00f6nnten Programmierer auf die Idee kommen, m\u00f6gliche static-Bl\u00f6cke an den Anfang zu setzen, vor die Konstanten. Meine Leser sollten das Ergebnis testen \u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es sind Bl\u00f6cke der Art static { \u2026 } im Rumpf eines Aufz\u00e4hlungstyps erlaubt. L\u00e4dt die Laufzeitumgebung einer Klasse, initialisiert sie der Reihe nach alle statischen Variablen bzw. f\u00fchrt die static-Bl\u00f6cke aus. Die Aufz\u00e4hlungen sind statische Variablen und werden beim Laden initialisiert. Steht der statische Initialisierer hinter den Konstanten, so wird auch er sp\u00e4ter aufgerufen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11],"tags":[],"class_list":["post-3218","post","type-post","status-publish","format-standard","hentry","category-insel"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=3218"}],"version-history":[{"count":2,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3218\/revisions"}],"predecessor-version":[{"id":3220,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3218\/revisions\/3220"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=3218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=3218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=3218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}