Einleitende Beispiele zur Deklaration von Methoden in Java (Einleitende Beispiele zur Deklaration von Methoden in Java), Lektion, Seite 723790
https://www.purl.org/stefan_ram/pub/beispiele_methodendeklarationen_java (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Einleitende Beispiele zur Deklaration von Methoden in Java 

Aufrufe von Methoden der Standardbibliothek

Wir hatten schon gesehen, wie Aufrufe von Methoden, wie »java.lang.Thread.dumpStack()«, durch die Standardbibliothek  festgelegt wurden.

Solche Aufrufe können im Hauptprogramm erfolgen.

Main.java

public final class Main
{

public static void main( final java.lang.String[] args )
{ java.lang.Thread.dumpStack(); }}

transcript
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:1329)
at Main.main(Main.java:5)
Aussprache
thread  θrɛd

Methodendeklarationen

Das folgende Beispiel zeigt ein Programm mit einer Methodendeklaration und einem Aufruf.

Durch die Anweisung »lkw();« wird verlangt, daß der weiter für »lkw()« festgelegte Block »{ java.lang.System.out.print( "Lastkraftwagen" ); }« ausgeführt wird. Dies führt dann zur Ausgabe des Wortes »Lastkraftwagen«.

Schließlich wird am Ende des Hauptprogramms mit der Anweisung »java.lang.System.out.println();« noch ein Zeilenende ausgegeben. Das Programm gibt also das Wort »Lastkraftwagen« und ein Zeilenende aus.

Main.java

public final class Main
{

public static void lkw(){ java.lang.System.out.print( "Lastkraftwagen" ); }

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

Protokoll
Lastkraftwagen

Das Hauptprogramm

Mit »public static void main( final java.lang.String[] args )« beginnt das Hauptprogramm. Zum Hauptprogramm gehört auch noch der darauf folgende Block.

Bei der Ausführung des Programms wird nur das gemacht, was im Hauptprogramm steht.

Wenn eine Methode nicht im Hauptprogramm aufgerufen wird, wird sie also ignoriert.

Main.java

public final class Main
{

public static void lkw(){ java.lang.System.out.print( "Lastkraftwagen" ); }

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

Protokoll
(keine Ausgabe)

Der Anfang des Hauptprogramms ist eine festgelegte Formulierung, die nicht  verändert werden darf.

In der Zeile »public static void main( final java.lang.String[] args )« darf in diesem gesamten Kurs bei allen Übungsaufgaben nie  eine Änderung vorgenommen werden. Der Inhalt jener Zeile sollte bis auf weiteres ignoriert werden.

Zentralisierung von Information

In einem guten Programm sollte jede Information nur einmal zu finden sein. In dem folgenden Programm findet sich die Information über den Text des Kehrreims des Liedes aber mehrfach (dreifach).

Main.java

public final class Main
{ public static void main( final java.lang.String[] args )
{

{ java.lang.System.out.println( "Auf einem Baum ein Kuckuck, -" );
{ java.lang.System.out.println( "Sim sa la dim, bam ba," );
java.lang.System.out.println( "Sa la du, sa la dim -" ); }
java.lang.System.out.println( "Auf einem Baum ein Kuckuck sass." ); }

{ java.lang.System.out.println( "Da kam ein junger Jaeger, -" );
{ java.lang.System.out.println( "Sim sa la dim, bam ba," );
java.lang.System.out.println( "Sa la du, sa la dim -" ); }
java.lang.System.out.println( "Da kam ein junger Jaegersmann." ); }

{ java.lang.System.out.println( "Der schoss den armen Kuckuck, -" );
{ java.lang.System.out.println( "Sim sa la dim, bam ba," );
java.lang.System.out.println( "Sa la du, sa la dim -" ); }
java.lang.System.out.println( "Der schoss den armen Kuckuck tot." ); }}}

Protokoll
Auf einem Baum ein Kuckuck, -
Sim sa la dim, bam ba,
Sa la du, sa la dim -
Auf einem Baum ein Kuckuck sass.
Da kam ein junger Jaeger, -
Sim sa la dim, bam ba,
Sa la du, sa la dim -
Da kam ein junger Jaegersmann.
Der schoss den armen Kuckuck, -
Sim sa la dim, bam ba,
Sa la du, sa la dim -
Der schoss den armen Kuckuck tot.

Durch Einführung einer Methode für die Ausgabe des Kehrreimes können wir diesen zentralisieren (also auf nur eine Stelle im Quelltext einschränken).

Main.java

public final class Main
{

public static void kehrreimAusgeben()
{ java.lang.System.out.println( "Sim sa la dim, bam ba," );
java.lang.System.out.println( "Sa la du, sa la dim -" ); }

public static void main( final java.lang.String[] args )
{

{ java.lang.System.out.println( "Auf einem Baum ein Kuckuck, -" );
kehrreimAusgeben();
java.lang.System.out.println( "Auf einem Baum ein Kuckuck sass." ); }

{ java.lang.System.out.println( "Da kam ein junger Jaeger, -" );
kehrreimAusgeben();
java.lang.System.out.println( "Da kam ein junger Jaegersmann." ); }

{ java.lang.System.out.println( "Der schoss den armen Kuckuck, -" );
kehrreimAusgeben();
java.lang.System.out.println( "Der schoss den armen Kuckuck tot." ); }}}

Protokoll
Auf einem Baum ein Kuckuck, -
Sim sa la dim, bam ba,
Sa la du, sa la dim -
Auf einem Baum ein Kuckuck sass.
Da kam ein junger Jaeger, -
Sim sa la dim, bam ba,
Sa la du, sa la dim -
Da kam ein junger Jaegersmann.
Der schoss den armen Kuckuck, -
Sim sa la dim, bam ba,
Sa la du, sa la dim -
Der schoss den armen Kuckuck tot.

Warum Methodendeklarationen?

»public static void«

Eine Methodendeklaration beginnt mit »public static void«. Die Bedeutung dieser Wörter ist wie bei einer Proklamation (aus der Dokumentation): »public« besagt, daß die Methode nicht „versteckt“ werden soll (eine versteckte Methode kann nicht aus allen Teilen eines Programmes aufgerufen werden), »static« besagt, daß zum Aufruf der Methode keine Objekte benötigt werden (Objekte werden erst später behandelt) und »void« besagt, daß ein Aufruf der Methode keinen Wert hat.

Übungsfragen

?   Ausgabe einer Methode

Welche Ausgabe erzeugt die Auswertung eines Aufrufs der Methode »heinrich«?

Methodendeklaration
public static void heinrich()
{ java.lang.System.out.print( "Nordpol" ); }

?   Übungsfrage

Welche Ausgabe erzeugt das folgende Programm?

Main.java

public final class Main
{

public static void usw(){ java.lang.System.out.print( "und so weiter" ); }

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

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 stefanram723790 stefan_ram:723790 Einleitende Beispiele zur Deklaration von Methoden in Java Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723790, slrprddef723790, 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/beispiele_methodendeklarationen_java