Einführung in Referenznamen in Java im Rahmen der Lehre des Programmierens mit der Programmiersprache Java. (Referenzkonstante, Referenzkonstanten, referenz, referenzen, konstante, konstanten), Lektion, Seite 721571
https://www.purl.org/stefan_ram/pub/java_referenznamen_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Der Typ eines Parameters in Java 

Die Anforderungen an Parametertypen ℳ 

Substitutionsprinzip für Initialisierungsausdrücke (Wiederholung) Der Typ des Initialisierungsausdrucks muß ein Untertyp  des Typs der zu initialisierenden Variablen sein.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ final int n = 2;
final java.lang.String text = "abc";
final java.io.PrintStream out = java.lang.System.out;
out.println( n );
out.println( text ); }}
transcript
2
abc

Substitutionsprinzip für Argumente (Wiederholung) Der Typ eines Arguments muß ein Untertyp des Typs des zugehörigen Parameters sein.

Das folgende Programmbeispiel zeigt eine Entsprechung mit Parametern.

Main.java

public final class Main
{

public static void method
( final int n,
final java.lang.String text,
final java.io.PrintStream out )
{ out.println( n );
out.println( text ); }

public static void main( final java.lang.String[] args )
{ method( 2, "abc", java.lang.System.out ); }}

transcript
2
abc

Motivation für die Wahl von Parametertypen ℳ 

Wenn ein Objekt des Typs »java.lang.CharSequence« verlangt wird, so liegt dies normalerweise daran, daß die Methoden dieses Typs (wie zum Beispiel »length()«, »charAt(int)«, »subSequence(int,int)« und/oder »toString«) benötigt werden. Ein Objekt eines Untertyps, wie des Typs »java.lang.String«, enthält aber auch diese Methoden und ist daher ebenfalls akzeptabel.

Main.java

public final class Main
{

public static void m( final java.lang.CharSequence sequence )
{ int begin; int top;
java.lang.System.out.printf( "%s%n%s%n%s%n%s%n",
sequence.length(),
sequence.charAt( 0 ),
sequence.subSequence( begin = 0, top = 3 ),
sequence.toString() ); }

public static void main( final java.lang.String[] args )
{ m( "Alpha" ); }}

transcript
5
A
Alp
Alpha

Durch die Wahl des Parametertyps »java.lang.CharSequence« wird ausgedrückt:

„Ich brauche die Methoden »length()«, »charAt(int)« »subSequence(int,int)« und »toString(int,int)«, aber beispielsweise nicht »indexOf(int)« oder »substring(int)«.“

Wiederholung von Regeln in Zusammenhang mit Typen

Statische Typfestlegungen Der Typ einer Variablen legt den Typ fest, den der Name der Variablen hat, wenn man ihn als Ausdruck  verwendet. Genauso legt der Rückgabetyp einer Methode den Typ eines Aufrufs jener Methode (als Ausdruck betrachtet) fest.

Objektregel Der Typ eines Objektes muß ein Untertyp  des Typs eines Ausdrucks (also auch eines Namens) für das Objekt sein.

Faustregel für Variablentypen Der Typ einer Variablen sollte im Zweifelsfall der Typ des Initialisierungsausdrucks sein.

String-Regel Ein Zeichenfolgenliteral  hat den Typ »java.lang.String«. Sein Wert  ist ein Objekt, welches die Klasse »java.lang.String« hat.

Wiederholung einiger Substitutionsprinzipien

Substitutionsprinzip für Initialisierungsausdrücke

Substitutionsprinzip für Initialisierungsausdrücke Der Typ des Initialisierungsausdrucks muß ein Untertyp  des Typs der zu initialisierenden Variablen sein.

Andere Substitutionsprinzipien

Substitutionsprinzip für rechtsseitige Ausdrücke Der Typ der rechten Seite einer Zuweisung muß ein Untertyp  des Typs der linken Seite sein.

Substitutionsprinzip für Argumentausdrücke Der Typ eines Arguments muß ein Untertyp  des Typs des zugehörigen Parameters sein.

Substitutionsprinzip für Rückgabeausdrücke Der Typ eines Rückgabeausdrucks muß ein Untertyp  des Typs der zugehörigen Methode sein.

Übungsfragen

?   Übungsfrage

Was kann über den Typ des Objekts »cs« bei der Ausführung des Rumpfes der folgenden Methodendeklaration gesagt werden?

(Jener Typ wird in jenem Rumpfe auch von der Ausgabeanweisung ausgegeben.)

Was wären zwei Beispiele für mögliche Typen des Objekts »cs« bei der Ausführung des Rumpfes der folgenden Methodendeklaration?

Methodendeklaration
public static void method( final java.lang.CharSequence cs )
{ java.lang.System.out.println( cs.getClass() ); }

?   Übungsfrage (1)

Kann das folgende Programm voraussichtlich ohne Fehlermeldung übersetzt werden?

Main.java

public final class Main
{

public static void method( final java.lang.Object o )
{ o.subSequence( 0, 0 ); }

public static void main( final java.lang.String[] args )
{ final java.lang.CharSequence cs = "abc";
method( cs ); }}

?   Übungsfrage (2)

Kann das folgende Programm voraussichtlich ohne Fehlermeldung übersetzt werden?

(Das Hauptprogramm unterscheidet sich nicht von dem der vorigen Übungsfrage.)

Main.java

public final class Main
{

public static void method( final java.lang.CharSequence cs )
{ cs.subSequence( 0, 0 ); }

public static void main( final java.lang.String[] args )
{ final java.lang.CharSequence cs = "abc";
method( cs ); }}

?   Übungsfrage (3)

Kann das folgende Programm voraussichtlich ohne Fehlermeldung übersetzt werden?

(Das Hauptprogramm unterscheidet sich nicht von dem der vorigen Übungsfrage.)

Main.java

public final class Main
{

public static void method( final java.lang.String cs )
{ cs.subSequence( 0, 0 ); }

public static void main( final java.lang.String[] args )
{ final java.lang.CharSequence cs = "abc";
method( cs ); }}

 

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram721571 stefan_ram:721571 Referenzkonstante, Referenzkonstanten, referenz, referenzen, konstante, konstanten source, source code,sourcecode, Programmier sprache java, Java Programm Java Programmiersprache Java Sprache Java Programmierung Programmieren in Java, Die Programmiersprache Java Javapgrammierung, Java-Programmierung, Java2, Java1.2, Java1.3, Java1.4, Java1.5, Java 2, Java 1.2, Java 1.3, Java 1.4, Java 1.5, Java 1.6, Java 1.7, Java 1.8, Java 8, Java 1.9, Java 9, Java 1.10, Java 10, Tiger, Dolphin, objektorientierte Programmierung, Java sun, , Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd721571, slrprddef721571, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/java_referenznamen_de