Einstieg in Java 7 - Eine professionelle und umfassende Einführung

Einstieg in Java 7 - Eine professionelle und umfassende Einführung

von: Bernhard Steppan

Galileo Press, 2011

ISBN: 9783836216623

Sprache: Deutsch

606 Seiten, Download: 7579 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

Einstieg in Java 7 - Eine professionelle und umfassende Einführung



  Einstieg in Java 7 2  
  Liebe Leserin, lieber Leser, 3  
  Auf einen Blick 4  
  Inhalt 6  
  Vorwort 22  
  TEIL I Basiswissen 26  
  1 Digitale Informationsverarbeitung 28  
     1.1 Einleitung 28  
     1.2 Zahlensysteme 28  
        1.2.1 Dezimalsystem 28  
        1.2.2 Binärsystem 29  
        1.2.3 Hexadezimalsystem 31  
     1.3 Informationseinheiten 33  
        1.3.1 Bit 33  
        1.3.2 Byte 34  
        1.3.3 Wort 34  
     1.4 Kodierung von Zeichen 34  
        1.4.1 ASCII-Code 34  
        1.4.2 ANSI-Code 36  
        1.4.3 Unicode 37  
     1.5 Kodierung logischer Informationen 38  
        1.5.1 Und-Funktion 38  
        1.5.2 Oder-Funktion 39  
        1.5.3 Nicht-Funktion 40  
     1.6 Zusammenfassung 41  
     1.7 Aufgaben 41  
        1.7.1 Zahlensysteme 41  
        1.7.2 Informationseinheiten 41  
        1.7.3 Zeichenkodierung 42  
        1.7.4 Kodierung logischer Informationen 42  
  2 Programmiersprachen 44  
     2.1 Einleitung 44  
        2.1.1 Verständigungsschwierigkeiten 44  
        2.1.2 Definition 44  
        2.1.3 Klassifizierung 45  
        2.1.4 Geschichte 46  
     2.2 Programmiersprachen der ersten Generation 47  
        2.2.1 Programmaufbau 48  
        2.2.2 Portabilität 48  
        2.2.3 Ausführungsgeschwindigkeit 49  
        2.2.4 Einsatzbereich 49  
     2.3 Programmiersprachen der zweiten Generation 49  
        2.3.1 Programmaufbau 50  
        2.3.2 Portabilität 51  
        2.3.3 Ausführungsgeschwindigkeit 52  
        2.3.4 Einsatzbereich 52  
     2.4 Programmiersprachen der dritten Generation 52  
        2.4.1 Programmaufbau 53  
        2.4.2 Portabilität 54  
        2.4.3 Ausführungsgeschwindigkeit 54  
        2.4.4 Einsatzbereich 55  
     2.5 Programmiersprachen der vierten Generation 55  
        2.5.1 Programmaufbau 55  
        2.5.2 Portabilität 56  
        2.5.3 Ausführungsgeschwindigkeit 56  
        2.5.4 Einsatzbereich 56  
     2.6 Programmiersprachen der fünften Generation 56  
        2.6.1 Programmaufbau 57  
        2.6.2 Portabilität 58  
        2.6.3 Ausführungsgeschwindigkeit 58  
        2.6.4 Einsatzbereich 58  
     2.7 Programmiersprachen der sechsten Generation 58  
        2.7.1 Programmaufbau 58  
        2.7.2 Portabilität 60  
        2.7.3 Ausführungsgeschwindigkeit 60  
        2.7.4 Einsatzbereich 60  
     2.8 Zusammenfassung 60  
     2.9 Aufgaben 61  
        2.9.1 Programmiersprachen der ersten Generation 61  
        2.9.2 Programmiersprachen der zweiten Generation 61  
        2.9.3 Programmiersprachen der dritten Generation 61  
  3 Objektorientierte Programmierung 62  
     3.1 Einleitung 62  
        3.1.1 Grundbegriffe 62  
        3.1.2 Prinzipien 63  
     3.2 Objekte 63  
     3.3 Klassen 64  
        3.3.1 Attribute 64  
        3.3.2 Methoden 66  
     3.4 Abstraktion 68  
     3.5 Vererbung 69  
        3.5.1 Basisklassen 71  
        3.5.2 Abgeleitete Klassen 71  
        3.5.3 Mehrfachvererbung 72  
     3.6 Kapselung 72  
     3.7 Beziehungen 73  
        3.7.1 Beziehungen, die nicht auf Vererbung beruhen 74  
        3.7.2 Vererbungsbeziehungen 75  
     3.8 Designfehler 77  
     3.9 Umstrukturierung 77  
     3.10 Modellierung 78  
     3.11 Persistenz 78  
     3.12 Polymorphie 78  
        3.12.1 Statische Polymorphie 79  
        3.12.2 Dynamische Polymorphie 79  
     3.13 Designregeln 80  
     3.14 Zusammenfassung 80  
     3.15 Aufgaben 81  
        3.15.1 Fragen 81  
        3.15.2 Übungen 81  
  TEIL II Java im Detail 84  
  4 Sprache Java 86  
     4.1 Einleitung 86  
        4.1.1 Geschichte 86  
        4.1.2 Beschreibung mittels Text 87  
        4.1.3 Überblick über die Sprachelemente 88  
     4.2 Schlüsselwörter 89  
     4.3 Einfache Datentypen 91  
        4.3.1 Grundlagen 91  
        4.3.2 Festkommazahlen 95  
        4.3.3 Gleitkommazahlen 98  
        4.3.4 Wahrheitswerte 100  
        4.3.5 Zeichen 101  
     4.4 Erweiterte Datentypen 102  
        4.4.1 Arrays 102  
        4.4.2 Aufzählungstyp 106  
     4.5 Benutzerdefinierte Datentypen 107  
        4.5.1 Konkrete Klassen 107  
        4.5.2 Abstrakte Klassen 111  
        4.5.3 Interfaces 112  
        4.5.4 Generische Klassen 113  
     4.6 Variablen 117  
     4.7 Konstanten 118  
     4.8 Methoden 118  
        4.8.1 Methodenarten 118  
        4.8.2 Konstruktoren 121  
        4.8.3 Destruktoren 122  
        4.8.4 Zugriffsmethoden 122  
        4.8.5 Änderungsmethoden 123  
        4.8.6 Funktionen 124  
     4.9 Operatoren 125  
        4.9.1 Arithmetische Operatoren 125  
        4.9.2 Vergleichende Operatoren 133  
        4.9.3 Logische Operatoren 137  
        4.9.4 Bitweise Operatoren 139  
        4.9.5 Zuweisungsoperatoren 140  
        4.9.6 Fragezeichenoperator 141  
        4.9.7 New-Operator 142  
        4.9.8 Cast-Operator 143  
     4.10 Ausdrücke 144  
        4.10.1 Zuweisungen 144  
        4.10.2 Elementare Anweisungen 147  
        4.10.3 Verzweigungen 147  
        4.10.4 Schleifen 150  
     4.11 Module 155  
        4.11.1 Klassenimport 155  
        4.11.2 Namensräume 158  
     4.12 Fehlerbehandlung 158  
     4.13 Dokumentation 161  
        4.13.1 Zeilenbezogene Kommentare 162  
        4.13.2 Abschnittsbezogene Kommentare 162  
        4.13.3 Dokumentationskommentare 162  
     4.14 Zusammenfassung 163  
     4.15 Aufgaben 164  
        4.15.1 Fragen 164  
        4.15.2 Übungen 164  
  5 Entwicklungsprozesse 166  
     5.1 Einleitung 166  
        5.1.1 Phasen 166  
        5.1.2 Aktivitäten 167  
        5.1.3 Werkzeuge 168  
     5.2 Planungsphase 169  
        5.2.1 Missverständnisse 169  
        5.2.2 Anforderungen aufnehmen 169  
     5.3 Konstruktionsphase 170  
        5.3.1 Objektorientierte Analyse 170  
        5.3.2 Objektorientiertes Design 170  
        5.3.3 Implementierung in Java 171  
        5.3.4 Test 180  
     5.4 Betriebsphase 190  
        5.4.1 Verteilung 190  
        5.4.2 Pflege 191  
     5.5 Zusammenfassung 191  
     5.6 Aufgaben 191  
        5.6.1 Fragen 191  
        5.6.2 Übungen 192  
  6 Plattform Java 194  
     6.1 Einleitung 194  
     6.2 Bytecode 194  
     6.3 Java Runtime Environment 196  
        6.3.1 Virtuelle Maschine 197  
        6.3.2 Garbage Collector 201  
        6.3.3 Bibliotheken 202  
        6.3.4 Ressourcen und Property-Dateien 202  
     6.4 Native Java-Programme 202  
     6.5 Portabilität eines Java-Programms 204  
        6.5.1 Binärkompatibler Bytecode 204  
        6.5.2 Voraussetzungen 206  
     6.6 Programmstart 207  
        6.6.1 Application 207  
        6.6.2 Applet 209  
        6.6.3 Servlets und JavaServer Pages 210  
     6.7 Zusammenfassung 210  
     6.8 Aufgaben 211  
        6.8.1 Fragen 211  
        6.8.2 Übungen 211  
  7 Gesetzmäßigkeiten 212  
     7.1 Einleitung 212  
     7.2 Sichtbarkeit 212  
        7.2.1 Klassenkapselung 212  
        7.2.2 Gültigkeitsbereich von Variablen 221  
     7.3 Auswertungsreihenfolge 226  
        7.3.1 Punkt vor Strich 226  
        7.3.2 Punkt vor Punkt 227  
     7.4 Typkonvertierung 229  
        7.4.1 Implizite Konvertierung 230  
        7.4.2 Explizite Konvertierung 232  
     7.5 Polymorphie 235  
        7.5.1 Überladen von Methoden 235  
        7.5.2 Überschreiben von Methoden 238  
     7.6 Programmierkonventionen 242  
        7.6.1 Vorschriften zur Schreibweise 242  
        7.6.2 Empfehlungen zur Schreibweise 243  
     7.7 Zusammenfassung 245  
        7.7.1 Sichtbarkeit 245  
        7.7.2 Auswertungsreihenfolge 246  
        7.7.3 Typkonvertierung 246  
        7.7.4 Polymorphie 246  
        7.7.5 Programmierkonventionen 246  
     7.8 Aufgaben 247  
        7.8.1 Fragen 247  
        7.8.2 Übungen 247  
  8 Java-Klassenbibliotheken 248  
     8.1 Einleitung 248  
        8.1.1 Von der Klasse zur Bibliothek 248  
        8.1.2 Von der Bibliothek zum Universum 249  
        8.1.3 Vom Universum zum eigenen Programm 249  
        8.1.4 Bibliotheken und Bücher 249  
        8.1.5 Bibliotheken erweitern die Sprache 250  
        8.1.6 Bibliotheken steigern die Produktivität 250  
        8.1.7 Kommerzielle Klassenbibliotheken 251  
        8.1.8 Open-Source-Bibliotheken 251  
        8.1.9 Bibliotheken von Sun Microsystems 251  
     8.2 Java Standard Edition 251  
        8.2.1 Java-Language-Bibliothek 252  
        8.2.2 Klasse »System« 260  
        8.2.3 Stream-Bibliotheken 270  
        8.2.4 Hilfsklassen 273  
        8.2.5 Abstract Windowing Toolkit 275  
        8.2.6 Swing 286  
        8.2.7 JavaBeans 290  
        8.2.8 Applets 290  
        8.2.9 Applications 292  
        8.2.10 Java Database Connectivity (JDBC) 292  
        8.2.11 Java Native Interface 295  
        8.2.12 Remote Method Invocation 295  
     8.3 Java Enterprise Edition 296  
        8.3.1 Servlets 297  
        8.3.2 JavaServer Pages 298  
        8.3.3 CORBA 299  
        8.3.4 Enterprise JavaBeans 300  
     8.4 Java Micro Edition 302  
     8.5 Zusammenfassung 303  
     8.6 Aufgaben 304  
        8.6.1 Fragen 304  
        8.6.2 Übungen 304  
  9 Algorithmen 306  
     9.1 Einleitung 306  
     9.2 Algorithmen entwickeln 306  
     9.3 Algorithmenarten 307  
        9.3.1 Sortieren 308  
        9.3.2 Diagramme 309  
     9.4 Algorithmen anwenden 317  
        9.4.1 Sortieren 317  
        9.4.2 Suchen 319  
     9.5 Aufgaben 320  
        9.5.1 Fragen 320  
        9.5.2 Übungen 320  
  TEIL III Größere Java-Projekte 322  
  10 Konsolenprogramme 324  
     10.1 Einleitung 324  
     10.2 Projekt »Transfer« 325  
        10.2.1 Anforderungen 325  
        10.2.2 Analyse und Design 325  
        10.2.3 Implementierung der Klasse »TransferApp« 327  
        10.2.4 Implementierung der Klasse »CopyThread« 331  
        10.2.5 Implementierung der Properties-Datei 335  
        10.2.6 Test 335  
        10.2.7 Verteilung 336  
     10.3 Aufgaben 336  
        10.3.1 Fragen 336  
        10.3.2 Übungen 337  
  11 Einfache Oberflächen mit Swing 338  
     11.1 Einleitung 338  
     11.2 Projekt »Abakus« 338  
        11.2.1 Anforderungen 338  
        11.2.2 Analyse und Design 340  
        11.2.3 Implementierung der Applikationsklasse 344  
        11.2.4 Implementierung des Hauptfensters 345  
        11.2.5 Implementierung der Klasse »AboutDlg« 362  
        11.2.6 Zeichen als Unicode kodieren 362  
        11.2.7 Dialog zentriert sich selbst 362  
     11.3 Zusammenfassung 364  
     11.4 Aufgaben 365  
        11.4.1 Fragen 365  
        11.4.2 Übungen 365  
  12 Computerspiele mit Swing 366  
     12.1 Einleitung 366  
     12.2 Projekt »Memory« 366  
        12.2.1 Anforderungen 366  
        12.2.2 Analyse und Design 368  
        12.2.3 Implementierung der Klasse »Card« 371  
        12.2.4 Implementierung der Klasse »CardEvent« 379  
        12.2.5 Implementierung des Interfaces »CardListener« 379  
        12.2.6 Implementierung der Klasse »CardBeanInfo« 380  
        12.2.7 Implementierung des Testtreibers 382  
        12.2.8 Implementierung der Klasse »GameBoard« 385  
        12.2.9 Implementierung des Hauptfensters 389  
        12.2.10 Implementierung der Klasse »AboutDlg« 392  
        12.2.11 Test 396  
        12.2.12 Verteilung 397  
     12.3 Zusammenfassung 398  
     12.4 Aufgaben 398  
        12.4.1 Fragen 398  
        12.4.2 Übungen 398  
  13 Komplexe Oberflächen mit Swing 400  
     13.1 Einleitung 400  
     13.2 Projekt »Nestor« – die Oberfläche 400  
        13.2.1 Anforderungen 400  
        13.2.2 Analyse und Design 402  
        13.2.3 Implementierung der Datenbankfassade 406  
        13.2.4 Implementierung der Applikationsklasse 407  
        13.2.5 Aufbau des Hauptfensters 409  
        13.2.6 Implementierung der Adresskomponente 409  
        13.2.7 Implementierung des Hauptfensters 413  
        13.2.8 Implementierung des Dialogs »Einstellungen« 419  
        13.2.9 Test 419  
        13.2.10 Verteilung 420  
     13.3 Zusammenfassung 421  
     13.4 Aufgaben 421  
        13.4.1 Fragen 421  
        13.4.2 Übungen 422  
  14 Weboberflächen mit Servlets 424  
     14.1 Einleitung 424  
        14.1.1 Hypertext Markup Language 424  
        14.1.2 Hypertext-Transfer-Protokoll 427  
        14.1.3 Common Gateway Interface 429  
        14.1.4 Servlets 429  
     14.2 Projekt »Xenia« – die Oberfläche 430  
        14.2.1 Anforderungen 430  
        14.2.2 Analyse und Design 432  
        14.2.3 Implementierung der HTML-Vorlagen 433  
        14.2.4 Implementierung der Klasse »GuestList« 435  
        14.2.5 Implementierung der Klasse »NewGuest« 440  
        14.2.6 Verteilung 446  
     14.3 Zusammenfassung 446  
     14.4 Aufgaben 447  
        14.4.1 Fragen 447  
        14.4.2 Übungen 447  
  15 Datenbankprogrammierung 448  
     15.1 Einleitung 448  
        15.1.1 Vom Modell zum Datenmodell 448  
        15.1.2 Vom Datenmodell zur Datenbank 448  
        15.1.3 Von der Datenbank zu den Daten 449  
        15.1.4 Von den Daten zum Programm 449  
     15.2 Projekt »Hades« 450  
        15.2.1 Anforderungen 450  
        15.2.2 Analyse & Design 450  
        15.2.3 Implementierung 451  
        15.2.4 Test 452  
     15.3 Projekt »Charon« 453  
        15.3.1 Anforderungen 453  
        15.3.2 Implementierung der Klasse »HadesDb« 454  
        15.3.3 Implementierung der Klasse »Charon« 458  
        15.3.4 Implementierung der Klasse »HadesTest« 460  
        15.3.5 Implementierung der Klasse »CharonTest« 463  
        15.3.6 Implementierung der Datei »Db.properties« 464  
        15.3.7 Test 465  
        15.3.8 Verteilung 466  
     15.4 Zusammenfassung 466  
     15.5 Aufgaben 466  
        15.5.1 Fragen 466  
        15.5.2 Übungen 466  
  16 Datenbankanwendungen 468  
     16.1 Einleitung 468  
     16.2 Projekt »Perseus« 468  
        16.2.1 Anforderungen 468  
        16.2.2 Analyse und Design 469  
        16.2.3 Implementierung der Klasse »BasisWnd« 472  
        16.2.4 Implementierung der Klasse »Alignment« 473  
        16.2.5 Implementierung der Klasse »SplashWnd« 474  
        16.2.6 Implementierung der Klasse »BasicDlg« 476  
     16.3 Projekt »Charon« 479  
        16.3.1 Anforderungen 479  
        16.3.2 Analyse und Design 480  
        16.3.3 Implementierung von »HadesDb« 480  
        16.3.4 Implementierung von »Charon« 481  
        16.3.5 Test 481  
        16.3.6 Verteilung 481  
     16.4 Projekt »Nestor« 481  
        16.4.1 Integration der Klasse »SplashWnd« 482  
        16.4.2 Integration der Klasse »SplashWnd« 482  
        16.4.3 Implementierung der Methode »showSplashScreen« 483  
        16.4.4 Integration der Klasse »BasicDlg« 484  
        16.4.5 Integration der Klasse »Charon« 485  
        16.4.6 Verteilung 485  
     16.5 Zusammenfassung 486  
     16.6 Aufgaben 486  
        16.6.1 Fragen 486  
        16.6.2 Übungen 486  
  17 Dynamische Websites 488  
     17.1 Einleitung 488  
     17.2 Projekt »Charon« 488  
        17.2.1 Anforderungen 488  
        17.2.2 Analyse und Design 489  
        17.2.3 Implementierung der Klasse »HadesDb« 490  
        17.2.4 Implementierung der Klasse »Charon« 491  
     17.3 Projekt »Xenia« 493  
        17.3.1 Anforderungen 493  
        17.3.2 Analyse und Design 493  
        17.3.3 Implementierung der Klasse »NewGuest« 493  
        17.3.4 Implementierung der Klasse »GuestList« 494  
        17.3.5 Änderungen am Projektverzeichnis 496  
        17.3.6 Test 497  
        17.3.7 Verteilung 499  
     17.4 Zusammenfassung 500  
     17.5 Aufgaben 500  
        17.5.1 Fragen 500  
        17.5.2 Übungen 500  
  TEIL IV Lösungen 502  
  18 Lösungen zu Teil I 504  
     18.1 Digitale Informationsverarbeitung 504  
        18.1.1 Zahlensysteme 504  
        18.1.2 Informationseinheiten 504  
        18.1.3 Zeichenkodierung 505  
        18.1.4 Kodierung logischer Informationen 505  
     18.2 Programmiersprachen 506  
        18.2.1 Programmiersprachen der ersten Generation 506  
        18.2.2 Programmiersprachen der zweiten Generation 506  
        18.2.3 Programmiersprachen der dritten Generation 507  
     18.3 Objektorientierte Programmierung 507  
        18.3.1 Fragen 507  
        18.3.2 Übungen 508  
  19 Lösungen zu Teil II 512  
     19.1 Sprache Java 512  
        19.1.1 Fragen 512  
        19.1.2 Übungen 514  
     19.2 Entwicklungsprozesse 517  
        19.2.1 Fragen 517  
        19.2.2 Übungen 517  
     19.3 Plattform Java 519  
        19.3.1 Fragen 519  
        19.3.2 Übungen 519  
     19.4 Gesetzmäßigkeiten 520  
        19.4.1 Fragen 520  
        19.4.2 Übungen 521  
     19.5 Java-Klassenbibliotheken 522  
        19.5.1 Fragen 522  
        19.5.2 Übungen 523  
     19.6 Algorithmen 524  
        19.6.1 Fragen 524  
        19.6.2 Übungen 525  
  20 Lösungen zu Teil III 528  
     20.1 Konsolenprogramme 528  
        20.1.1 Fragen 528  
        20.1.2 Übungen 529  
     20.2 Einfache Oberflächen mit Swing 530  
        20.2.1 Fragen 530  
        20.2.2 Übungen 531  
     20.3 Computerspiele mit Swing 532  
        20.3.1 Fragen 532  
        20.3.2 Übungen 532  
     20.4 Komplexe Oberflächen mit Swing 533  
        20.4.1 Fragen 533  
        20.4.2 Übungen 534  
     20.5 Weboberflächen mit Servlets 534  
        20.5.1 Fragen 534  
        20.5.2 Übungen 535  
     20.6 Datenbankprogrammierung 536  
        20.6.1 Fragen 536  
        20.6.2 Übungen 536  
     20.7 Datenbankanwendungen 537  
        20.7.1 Fragen 537  
        20.7.2 Übungen 537  
     20.8 DynamischeWebsites 538  
        20.8.1 Fragen 538  
        20.8.2 Übungen 538  
  TEIL V Anhang 542  
  21 Import der Beispielprogramme 544  
     21.1 Einleitung 544  
     21.2 Import in Eclipse 544  
     21.3 Import in NetBeans 547  
  22 Werkzeuge 550  
     22.1 Einleitung 550  
        22.1.1 Einzelwerkzeuge versus Werkzeugsuiten 550  
        22.1.2 Zielgruppen 551  
     22.2 Kriterien zur Werkzeugauswahl 552  
        22.2.1 Allgemeine Kriterien 553  
        22.2.2 Projektverwaltung 556  
        22.2.3 Modellierungswerkzeuge 557  
        22.2.4 Texteditor 558  
        22.2.5 Java-Compiler 559  
        22.2.6 Java-Decompiler 560  
        22.2.7 GUI-Builder 560  
        22.2.8 Laufzeitumgebung 561  
        22.2.9 Java-Debugger 562  
        22.2.10 Werkzeuge zur Verteilung 563  
        22.2.11 Wizards 564  
     22.3 Einzelwerkzeuge 564  
        22.3.1 Modellierungswerkzeuge 564  
        22.3.2 Texteditor 565  
        22.3.3 Java-Compiler 566  
        22.3.4 Java-Decompiler 567  
        22.3.5 GUI-Builder 567  
        22.3.6 Laufzeitumgebungen 568  
        22.3.7 Java-Debugger 569  
        22.3.8 Versionskontrollwerkzeuge 569  
        22.3.9 Werkzeuge zur Verteilung 570  
     22.4 Werkzeugsuiten 570  
        22.4.1 Eclipse 571  
        22.4.2 JBuilder 572  
        22.4.3 Java Development Kit 573  
        22.4.4 NetBeans 579  
        22.4.5 Sun One Studio 580  
        22.4.6 Together 580  
        22.4.7 VisualAge Java 581  
  23 Computerhardware 582  
     23.1 Einleitung 582  
     23.2 Aufbau eines Computers 582  
     23.3 Bussystem 583  
     23.4 Prozessoren 583  
        23.4.1 Central Processing Unit 583  
        23.4.2 Grafikprozessor 584  
     23.5 Speichermedien 584  
        23.5.1 Hauptspeicher 584  
        23.5.2 Festplattenspeicher 585  
     23.6 Ein- und Ausgabesteuerung 586  
     23.7 Taktgeber 586  
     23.8 Zusammenfassung 586  
  24 Glossar 588  
  25 Literatur 596  
     25.1 Basiswissen 596  
     25.2 Java im Detail 596  
     25.3 Größere Java-Projekte 597  
     25.4 Anhang 598  
  Index 600  

Kategorien

Service

Info/Kontakt