{"id":4710,"date":"2025-05-05T13:49:52","date_gmt":"2025-05-05T11:49:52","guid":{"rendered":"https:\/\/www.tutego.de\/blog\/javainsel\/?p=4710"},"modified":"2025-05-05T14:06:34","modified_gmt":"2025-05-05T12:06:34","slug":"insel-update-fuer-java-25-modul-import","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2025\/05\/insel-update-fuer-java-25-modul-import\/","title":{"rendered":"Insel-Update f\u00fcr Java 25: Modul-Import"},"content":{"rendered":"<p>In gr\u00f6\u00dferen Java-Programmen sammeln sich naturgem\u00e4\u00df zahlreiche Import-Deklarationen an. Zwar lassen sich diese in modernen Entwicklungsumgebungen bequem einklappen, doch sie bleiben Teil des Quellcodes und k\u00f6nnen schnell un\u00fcbersichtlich werden.<\/p>\n<p class=\"MsoNormal\"><span lang=\"DE\">Java bietet einige M\u00f6glichkeiten, die Imports zu vereinfachen. Eine Option ist der Einsatz von Wildcards \u2013 etwa <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">import java.awt.*<\/span><\/span><\/span><span lang=\"DE\">, um s\u00e4mtliche Typen eines Pakets auf einmal zu importieren. Au\u00dferdem wird das Paket <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.lang<\/span><\/span><\/span><span lang=\"DE\"> automatisch importiert, sodass dort Typen wie <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">String<\/span><\/span><\/span><span lang=\"DE\">, <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">Math<\/span><\/span><\/span><span lang=\"DE\"> oder <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">Compa<\/span><\/span><\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">rable<\/span><\/span><\/span><span lang=\"DE\"> ganz ohne explizite Import-Deklaration verwendet werden k\u00f6nnen.<\/span><\/p>\n<p class=\"MsoNormal\"><a name=\"OLE_LINK3\"><\/a><span lang=\"DE\">In Java 25 wurden <span class=\"Begriff\">Modul-Importe<\/span><\/span><!-- [if supportFields]><span style='mso-bookmark:OLE_LINK3'><\/span><span style='mso-element:field-begin'><\/span><span style='mso-bookmark:OLE_LINK3'><span lang=DE> XE &quot;Modul-Importe&quot; <\/span><\/span><![endif]--><!-- [if supportFields]><span style='mso-bookmark:OLE_LINK3'><\/span><span style='mso-element:field-end'><\/span><![endif]--><span style=\"mso-bookmark: OLE_LINK3;\"><span lang=\"DE\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>eingef\u00fchrt, die alle \u00f6ffentlichen Typen der exportierten Pakete eines Moduls sowie die Typen der indirekt referenzierten Module einbinden.<\/span><\/span><\/p>\n<p class=\"Kastenberschrift\"><span style=\"mso-bookmark: OLE_LINK3;\"><span lang=\"DE\" style=\"color: black; mso-color-alt: windowtext;\">Erkl\u00e4rung<\/span><\/span><\/p>\n<p class=\"KastenStandard\"><span style=\"mso-bookmark: OLE_LINK3;\"><span lang=\"DE\" style=\"color: black; mso-color-alt: windowtext;\">Ein Paket ist eine Sammlung thematisch zusammengeh\u00f6riger Typen \u2013 wie Klassen und Schnittstellen \u2013, die gemeinsam eine bestimmte Funktionalit\u00e4t bereitstellen. Ein Modul ist eine \u00fcbergeordnete Einheit, die mehrere Pakete logisch zusammenfasst. <a name=\"OLE_LINK4\"><\/a>Module dienen der besseren Strukturierung gr\u00f6\u00dferer Anwendungen und erm\u00f6glichen es, explizit festzulegen, welche Teile eines Moduls f\u00fcr andere Module zug\u00e4nglich sind und von welchen Modulen es selbst abh\u00e4ngt. Die Java-Standardbibliothek ist vollst\u00e4ndig modularisiert. Eigene Module spielen in der Praxis eine untergeordnete Rolle.<\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"DE\">Die Syntax eines Modul-Imports lautet wie folgt:<\/span><\/p>\n<pre class=\"ListingJava\"><span lang=\"DE\">import module Modulname;<\/span><\/pre>\n<p class=\"MsoNormal\"><span lang=\"DE\">Ein typisches Beispiel ist der Import des Basismoduls der Java-Standardbibliothek:<\/span><\/p>\n<pre class=\"ListingJava\"><span lang=\"DE\">import module java.base;<\/span><\/pre>\n<p class=\"MsoNormal\"><span lang=\"DE\">Das Modul <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.base<\/span><\/span><\/span><span lang=\"DE\"> ist das zentrale Kernmodul und umfasst essenzielle Pakete wie java.io, <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.net<\/span><\/span><\/span><span lang=\"DE\">, <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.util<\/span><\/span><\/span><span lang=\"DE\"> und weitere. Die Javadoc zeigt alle Module und ihre enthaltenen Pakete auf.<\/span><\/p>\n<h4><span lang=\"DE\">Namenskonflikte durch Mehrfachimporte<\/span><\/h4>\n<p class=\"MsoNormal\"><span lang=\"DE\">Beim Einsatz von Wildcards in mehreren Paketimporten kann es zu Namenskonflikten kommen, wenn gleichnamige Typen in unterschiedlichen Paketen vorhanden sind. Dasselbe Problem kann auch bei Modul-Importen auftreten, da ein Modul in der Regel viele Pakete mit potenziell gleichnamigen Typen enth\u00e4lt. Ein klassisches Beispiel sind die Typen <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">Date<\/span><\/span><\/span><span lang=\"DE\"> und <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">List<\/span><\/span><\/span><span lang=\"DE\">, die in mehreren Paketen existieren: Es gibt Date in <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.util<\/span><\/span><\/span><span lang=\"DE\"> (Modul <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.base<\/span><\/span><\/span><span lang=\"DE\">) und in <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.sql<\/span><\/span><\/span><span lang=\"DE\"> (Modul <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.sql<\/span><\/span><\/span><span lang=\"DE\">) und <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">List<\/span><\/span><\/span><span lang=\"DE\"> in <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.util<\/span><\/span><\/span><span lang=\"DE\"> (Modul <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.base<\/span><\/span><\/span><span lang=\"DE\">) und in <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.awt<\/span><\/span><\/span><span lang=\"DE\"> (Modul <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.desktop<\/span><\/span><\/span><span lang=\"DE\">).<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"DE\">Nehmen wir folgenden Modul-Import an:<\/span><\/p>\n<pre class=\"ListingJavaCxSpFirst\"><span lang=\"DE\">import module java.base;<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0 <\/span>\/\/ Enth\u00e4lt java.util.Date und java.util.List<\/span>\r\n\r\n<span lang=\"DE\">import module java.sql;<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0 <\/span>\/\/ Enth\u00e4lt java.sql.Date<\/span>\r\n\r\n<span lang=\"DE\">import module java.desktop; \/\/ Enth\u00e4lt java.awt.List<\/span><\/pre>\n<p class=\"MsoNormal\"><span lang=\"DE\">Dann meldet der Compiler einen Fehler, wenn <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">Date<\/span><\/span><\/span><span lang=\"DE\"> oder <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">List<\/span><\/span><\/span><span lang=\"DE\"> im Programm verwendet werden, da <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">Date<\/span><\/span><\/span><span lang=\"DE\"> entweder <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.util.Date<\/span><\/span><\/span><span lang=\"DE\"> oder <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.sql.Date<\/span><\/span><\/span><span lang=\"DE\"> bedeuten k\u00f6nnte und <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">List<\/span><\/span><\/span><span lang=\"DE\"> entweder <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.util.List<\/span><\/span><\/span><span lang=\"DE\"> oder <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.awt.List<\/span><\/span><\/span><span lang=\"DE\">. Der Konflikt tritt also auf, weil die Modul-Importe mehrere Pakete einbinden, die Typen mit denselben einfachen Namen exportieren.<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"DE\">Es gibt unterschiedliche L\u00f6sungsans\u00e4tze f\u00fcr das Problem.<\/span><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"DE\">L\u00f6sung 1<\/span><\/strong><span lang=\"DE\">: Eine gezielte Import-Deklaration f\u00fcr den gew\u00fcnschten Typ verwenden:<\/span><\/p>\n<pre class=\"ListingJavaCxSpFirst\"><span style=\"mso-ansi-language: EN-US;\">import module java.base;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import module java.sql;<\/span>\r\n\r\n<span lang=\"DE\">import module java.desktop;<\/span>\r\n\r\n<b style=\"mso-bidi-font-weight: normal;\"><span lang=\"DE\">import java.sql.Date<\/span><\/b><span lang=\"DE\">;<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>\/\/ Eindeutig \u2013 nutzt Date aus java.sql und<\/span>\r\n\r\n<b style=\"mso-bidi-font-weight: normal;\"><span lang=\"DE\">import java.util.List<\/span><\/b><span lang=\"DE\">;<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>\/\/ List aus dem Paket java.util<\/span><\/pre>\n<p class=\"MsoNormal\"><strong><span lang=\"DE\">L\u00f6sung 2<\/span><\/strong><span lang=\"DE\">: Ein Wildcard-Import f\u00fcr die Priorisierung eines Pakets:<\/span><\/p>\n<pre class=\"ListingJavaCxSpFirst\"><span style=\"mso-ansi-language: EN-US;\">import module java.base;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import module java.sql;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import module java.desktop;<\/span>\r\n\r\n<b style=\"mso-bidi-font-weight: normal;\"><span style=\"mso-ansi-language: EN-US;\">import java.util.*<\/span><\/b><span style=\"mso-ansi-language: EN-US;\">;<span style=\"mso-spacerun: yes;\">\u00a0 <\/span>\/\/ Priorisiert Typen aus java.util gegen\u00fcber Modul-Importen<\/span>\r\n\r\n<b style=\"mso-bidi-font-weight: normal;\"><span style=\"mso-ansi-language: EN-US;\">import java.sql.*<\/span><\/b><span style=\"mso-ansi-language: EN-US;\">;<span style=\"mso-spacerun: yes;\">\u00a0\u00a0 <\/span>\/\/ Priorisiert Typen aus java.sql gegen\u00fcber Modul-Importen<\/span><\/pre>\n<p class=\"MsoNormal\"><span lang=\"DE\">Die Mehrdeutigkeit f\u00fcr <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">Date<\/span><\/span><\/span><span lang=\"DE\"> bleibt bestehen, da die Wildcard-Importe <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">import java.util.*<\/span><\/span><\/span><span lang=\"DE\"> und <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">import java.sql.*<\/span><\/span><\/span><span lang=\"DE\"> gleichrangig sind. Um <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">Date<\/span><\/span><\/span><span lang=\"DE\"> eindeutig zu machen, ist ein gezielter Klassen-Import wie <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">import java.sql.Date<\/span><\/span><\/span><span lang=\"DE\"> erforderlich. Der Typ <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">List<\/span><\/span><\/span><span lang=\"DE\"> wird durch <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">import java.util.*<\/span><\/span><\/span><span lang=\"DE\"> auf <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.util.L<\/span><\/span><\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">ist<\/span><\/span><\/span><span lang=\"DE\"> festgelegt, da dieser Wildcard-Import den Modul-Import <\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">java.desktop<\/span><\/span><\/span><span lang=\"DE\"> \u00fcberlagert.<\/span><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"DE\">L\u00f6sung 3<\/span><\/strong><span lang=\"DE\">: Vollst\u00e4ndige Qualifikation von Typen:<\/span><\/p>\n<pre class=\"ListingJavaCxSpFirst\"><span style=\"mso-ansi-language: EN-US;\">import module java.base;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import module java.sql;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import module java.desktop;<\/span><\/pre>\n<p class=\"MsoNormal\"><span lang=\"DE\">Und dann zum Beispiel:<\/span><\/p>\n<pre class=\"ListingJava\"><strong><span style=\"mso-ansi-language: EN-US;\">java.sql<\/span><\/strong><span style=\"mso-ansi-language: EN-US;\">.Date sqlDate = new <strong>java.sql<\/strong>.Date(System.currentTimeMillis());<\/span><\/pre>\n<p class=\"MsoNormal\"><span lang=\"DE\">Um es zusammenzufassen: Die Regel der Spezifit\u00e4t hilft bei der Aufl\u00f6sung solcher Namenskonflikte:<\/span><\/p>\n<p class=\"MsoListParagraphCxSpFirst\" style=\"text-indent: -18.0pt; mso-list: l1 level1 lfo2;\"><!-- [if !supportLists]--><span lang=\"DE\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"><span style=\"mso-list: Ignore;\">\u00b7<span style=\"font: 7.0pt 'Times New Roman';\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><\/span><!--[endif]--><span lang=\"DE\">Einzelne Typ-Importe (<\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">import java.sql.Date<\/span><\/span><\/span><span lang=\"DE\">) haben Vorrang vor<\/span><\/p>\n<p class=\"MsoListParagraphCxSpMiddle\" style=\"text-indent: -18.0pt; mso-list: l1 level1 lfo2;\"><!-- [if !supportLists]--><span lang=\"DE\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"><span style=\"mso-list: Ignore;\">\u00b7<span style=\"font: 7.0pt 'Times New Roman';\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><\/span><!--[endif]--><span lang=\"DE\">Paket-Importen mit Wildcard (<\/span><span class=\"ListingZeichen\"><span lang=\"DE\" style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none;\"><span style=\"border: none;\">import java.util.*<\/span><\/span><\/span><span lang=\"DE\">), die wiederum Vorrang haben vor<\/span><\/p>\n<p class=\"MsoListParagraphCxSpLast\" style=\"text-indent: -18.0pt; mso-list: l1 level1 lfo2;\"><!-- [if !supportLists]--><span style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; mso-ansi-language: EN-US;\"><span style=\"mso-list: Ignore;\">\u00b7<span style=\"font: 7.0pt 'Times New Roman';\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><\/span><!--[endif]--><span style=\"mso-ansi-language: EN-US;\">Modul-Importen (<\/span><span class=\"ListingZeichen\"><span style=\"font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; border: none; mso-ansi-language: EN-US;\"><span style=\"border: none;\">import module java.base<\/span><\/span><\/span><span style=\"mso-ansi-language: EN-US;\">).<\/span><\/p>\n<h4><span lang=\"DE\">Strukturierung<\/span><\/h4>\n<p class=\"MsoNormal\"><span lang=\"DE\">Zur besseren Lesbarkeit des Codes empfiehlt es sich, Import-Deklarationen logisch zu gruppieren, in folgender Reihenfolge:<\/span><\/p>\n<pre class=\"ListingJavaCxSpFirst\"><span style=\"mso-ansi-language: EN-US;\">\/\/ Modul-Importe<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import module java.base;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import module java.sql;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">\u00a0<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">\/\/ Paket-Importe<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import java.util.*;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import javax.sql.*;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">\u00a0<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">\/\/ Einzelne Typ-Importe<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">import java.sql.Date;<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">\u00a0<\/span>\r\n\r\n<span style=\"mso-ansi-language: EN-US;\">class Application { }<\/span><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>In gr\u00f6\u00dferen Java-Programmen sammeln sich naturgem\u00e4\u00df zahlreiche Import-Deklarationen an. Zwar lassen sich diese in modernen Entwicklungsumgebungen bequem einklappen, doch sie bleiben Teil des Quellcodes und k\u00f6nnen schnell un\u00fcbersichtlich werden. Java bietet einige M\u00f6glichkeiten, die Imports zu vereinfachen. Eine Option ist der Einsatz von Wildcards \u2013 etwa import java.awt.*, um s\u00e4mtliche Typen eines Pakets auf einmal [&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":[1,11,125],"tags":[],"class_list":["post-4710","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-insel","category-java-25"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4710","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=4710"}],"version-history":[{"count":3,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4710\/revisions"}],"predecessor-version":[{"id":4713,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4710\/revisions\/4713"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=4710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=4710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=4710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}