{"id":4422,"date":"2019-09-21T12:41:07","date_gmt":"2019-09-21T10:41:07","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=4422"},"modified":"2019-09-21T12:41:07","modified_gmt":"2019-09-21T10:41:07","slug":"finale-variablen-und-der-modifizierer-final","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2019\/09\/finale-variablen-und-der-modifizierer-final\/","title":{"rendered":"Finale Variablen und der Modifizierer final"},"content":{"rendered":"<p>Variablen k\u00f6nnen mit dem Modifizierer final\u00a0deklariert werden, sodass genau eine Zuweisung m\u00f6glich ist. Dieses zus\u00e4tzliche Schl\u00fcsselwort verbietet folglich eine weitere Zuweisung an diese Variable, sodass sie nicht mehr ver\u00e4ndert werden kann. Ein \u00fcblicher Anwendungsfall sind Konstanten.<\/p>\n<pre>int width = 40, height = 12;\r\n\r\nfinal int area = width * height;\r\n\r\nfinal int perimeter;\r\n\r\nfinal var random = Math.random() * 100;\r\n\r\nperimeter = width * 2 + height * 2;\r\n\r\narea = 200;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u00a0Compilerfehler<\/pre>\n<pre>perimeter = 100;\u00a0\u00a0\u00a0 \/\/ \u00a0Compilerfehler<\/pre>\n<p>Im Fall einer versuchten zweiten Zuweisung meldet der Compiler von Eclipse: \u00bbThe final local variable \u2026 cannot be assigned. It must be blank and not using a compound assignment.\u00ab; IntelliJ meldet \u00fcber den Java-Compiler \u00bbcannot assign a value to final variable \u2026\u00ab.<\/p>\n<p>Java erlaubt bei finalen Werten eine aufgeschobene Initialisierung. Das hei\u00dft, dass nicht zwingend zum Zeitpunkt der Variablendeklaration ein Wert zugewiesen werden muss. Das sehen wir im Beispiel an der Variablen perimeter.<\/p>\n<p>Werden Variablen deklariert und initialisiert k\u00f6nnen final und var zusammen eingesetzt werden; einige Programmiersprachen bieten hier ein eigenes Schl\u00fcsselwort, wie val, Java jedoch nicht.<\/p>\n<p>Ausblick<\/p>\n<p>Auch Objektvariablen und Klassenvariablen k\u00f6nnen final sein. Allerdings m\u00fcssen die Variablen dann entweder bei der Deklaration belegt werden, oder in einer aufgeschobenen Initialisierung im Konstruktor. Das Schl\u00fcsselwort final hat noch zus\u00e4tzliche Bedeutungen im Zusammenhang mit Vererbung.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Variablen k\u00f6nnen mit dem Modifizierer final\u00a0deklariert werden, sodass genau eine Zuweisung m\u00f6glich ist. Dieses zus\u00e4tzliche Schl\u00fcsselwort verbietet folglich eine weitere Zuweisung an diese Variable, sodass sie nicht mehr ver\u00e4ndert werden kann. Ein \u00fcblicher Anwendungsfall sind Konstanten. int width = 40, height = 12; final int area = width * height; final int perimeter; final var [&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-4422","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\/4422","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=4422"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4422\/revisions"}],"predecessor-version":[{"id":4423,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4422\/revisions\/4423"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=4422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=4422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=4422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}