Zur Dokumentation nicht-statischer Ausdruckmethoden in Java (Zur Dokumentation nicht-statischer Ausdruckmethoden in Java), Lektion, Seite 724175
https://www.purl.org/stefan_ram/pub/nicht-statische_dokumentation_java (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Zur Dokumentation nicht-statischer Methoden in Java 

Das Nummernzeichen »#« in Angaben nicht-statischer Einträge

Zur Angabe eines nicht-statischen Eintrags eines Typs verwenden wir manchmal auch ein Nummerzeichen »#« zwischen dem Referenztypnamen, zu dem der Eintrag gehört, und einer Signatur des Eintrags.

»java.io.PrintStream#println()« bedeutet: „Die nicht-statische Methode »println()« des Typs »java.io.PrintStream«“.

Dokumentation der Methode »println()« (gekürzt, überarbeitet und übersetzt)

java.io.PrintStream#println()

void println()

Gibt ein Zeilenende aus.

Diese Schreibweise kann aber nicht im Quelltext  verwendet werden. Sie könnte beispielsweise in einem Brief verwendet werden, den ein Mensch an einen Menschen schreibt.

Manchmal wird auch »java.io.PrintStream.println()« für die nicht-statische Methode »println()« des Typs »java.io.PrintStream« geschrieben. Dies könnte aber dazu führen, daß dies als eine statische Methode mißverstanden wird.

Das Verhalten nicht-statischer Methoden

An dem schon früher zu den Eigenschaften von Aufrufen Gesagten ändert sich nichts: Auch bei nicht-statischen Methoden kann man weiterhin zwischen Wertmethoden, Wirkmethoden  und Wertwirkmethoden  unterscheiden.

Verweise in der Dokumentation

Einige Methoden sind in der Dokumentation eines Referenztyps nicht ausführlich dokumentiert, sondern nur kurz mit ihrem Namen  eingetragen.

In der Dokumentation des Referenztyps »java.io.PrintStream« trifft dies beispielsweise auf die Methode »write« oder die Methode »clone« zu.

Ausschnitt aus der Dokumentation des Referenztyps »java.io.PrintStream«

Methods inherited from class java.io.FilterOutputStream
write

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Hinter den Namen dieser Methoden stecken dann Verbindungen zu den Stellen, an denen diese Methoden ausführliche dokumentiert sind.

Auch, wenn solche Methoden nur mit ihrem Namen aufgeführt werden, gehören sie genauso zu dem Referenztyp, auf dessen Seite sie aufgeführt sind, wie die anderen ausführlicher dokumentierten Methoden.

default-Methoden ⃗

Einige Methoden sind in der Dokumentation eines Referenztyps mit dem Wort »default« gekennzeichnet. Diese Methoden gehören ebenfalls zum Referenztyp. Wir können das Wort »default« vorerst ignorieren.

Ein Beispiel für solch eine default-Methode ist beispielsweise die Methode »chars()« des Referenztyps »java.lang.CharSequence«.

Übungsfragen

?   Erlaubte Aufrufe

Welche der folgenden Verbaufrufe sind nach dem Kontext »java.lang.System.in« erlaubt?

Aussprachehinweis
close cloz

?   Fehlermeldung

Woran könnte es liegen, wenn die folgende Anweisung in einem Java -Programm zu einer Fehlermeldung führt?

Warum ist der Aufruf möglicherweise falsch?

?   Erlaubte Aufrufe

Die Antwort auf die folgende Frage soll gefunden werden, ohne zu versuchen, das Programm mit einem Compiler zu übersetzen.

Der Typ eines Parameternamens als Ausdruck ist stets so, wie dies durch die Deklaration des Parameternamens festgelegt wurde. Der Typ des Ausdrucks »s« im Rumpfe der Methode »method« des folgenden Programms ist also »java.lang.String«, weil dies durch die Parameterdeklaration mit »final java.lang.String s« festgelegt wurde.

Kann das folgende Programm ohne Fehlermeldung übersetzt werden (es geht um den Aufruf »s.length()«)?

Main.java

public final class Main
{

public static void method( final java.lang.String s )
{ s.length(); }

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

?   Erlaubte Aufrufe (1)

Die Antwort auf die folgende Frage soll gefunden werden, ohne zu versuchen, das Programm mit einem Compiler zu übersetzen.

Kann das folgende Programm ohne Fehlermeldung übersetzt werden (es geht um den Aufruf »s.getAverage()«)?

Main.java

public final class Main
{

public static void method( final java.lang.String s )
{ s.getAverage(); }

public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( "main (1)" ); }}

Aussprachehinweise
average ˈæv rɪʤ

?   Erlaubte Aufrufe (2) ⃗

Die Antwort auf die folgende Frage soll gefunden werden, ohne zu versuchen, das Programm mit einem Compiler zu übersetzen.

Kann das folgende Programm ohne Fehlermeldung übersetzt werden (es geht um den Aufruf »statistics.length()«)?

Main.java
public final class Main
{
public static void method( final java.util.IntSummaryStatistics statistics )
{ statistics.length(); }

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

?   Erlaubte Aufrufe (3) ⃗

Die Antwort auf die folgende Frage soll gefunden werden, ohne zu versuchen, das Programm mit einem Compiler zu übersetzen.

Kann das folgende Programm ohne Fehlermeldung übersetzt werden (es geht um den Aufruf »statistics.getAverage()«)?

Main.java
public final class Main
{
public static void method( final java.util.IntSummaryStatistics statistics )
{ statistics.getAverage(); }

public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( "main (3)" ); }}

?   Erlaubte Aufrufe (4) ⃗

Die Antwort auf die folgende Frage soll gefunden werden, ohne zu versuchen, das Programm mit einem Compiler zu übersetzen.

Kann das folgende Programm ohne Fehlermeldung übersetzt werden (es geht um den Aufruf »sequence.length()«)?

Main.java
public final class Main
{
public static void method( final java.lang.CharSequence sequence )
{ sequence.length(); }

public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( "main (4)" ); }}

?   Dokumentation erklären *

Warum steht die Dokumentation der Methode »println()« im Typ »java.io.PrintStream«, wenn man nicht »java.io.PrintStream.println()« schreiben kann?

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 stefanram724175 stefan_ram:724175 Zur Dokumentation nicht-statischer Ausdruckmethoden in Java Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724175, slrprddef724175, 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/nicht-statische_dokumentation_java