Paradigmen in Java (Paradigmen in Java), Lektion, Seite 723338
https://www.purl.org/stefan_ram/pub/paradigma_java (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Para̲digmen in Java 

Wir haben unsere Programm bisher streng nach der Regel geschrieben, daß jedes Programm eine »main«-Methode benötigt. Solch eine Festlegung über den Aufbau eines Programmes nennen wir auch ein Paradigma.

Mit dem Schlüsselwort »extends« kann man für ein Programm auch ein anderes Paradi̲gma  als das Standardparadi̲gma einstellen.

Das folgende Programm verwendet das Para̲digma »javafx.application.Application«

Main.java

public final class Main extends javafx.application.Application
{

public void start( final javafx.stage.Stage stage )
{ java.lang.System.out.println( "Hallo Welt!" ); }}

transcript
Hallo, Welt!
(wird nicht automatisch beendet)
Aussprachehinweis
stage steɪdʒ (d)

Das Programm wird nun nicht mehr automatisch beendet, sobald der Text »Hallo Welt!« ausgegeben wurde. Wir können aber das Konsolenfenster, in dem die Ausgabe erscheint, schließen, um das Programm zu beenden. Später werden wir noch andere Möglichkeiten kennenlernen, um solch ein Programm zu beenden.

Unter dem neuen Para̲digma wird nun beim Programmstart nicht die Methode »public static void main( final java.lang.String[] args )«, sondern die Methode die Methode »public void start( final javafx.stage.Stage stage )« aufgerufen. Wie auch früher bei der Methode »public static void main( final java.lang.String[] args )«, so ist es auch diesmal bei der neuen Methode »public void start( final javafx.stage.Stage stage )« zunächst noch nicht nötig, alle Details der Angaben »public void start( final javafx.stage.Stage stage )« schon jetzt genau zu verstehen. Diese Details werden aber im weiteren Verlauf des Kurses erklärt werden.

Deklarationen nicht-statischer Methoden ⃗

Bei der Deklaration der Methode »start« handelt es sich um die Deklaration einer nicht-statischen  Methode. Wir haben aber Deklarationen nicht-statischer Methoden noch gar nicht behandelt! Würde aber in der Methodendeklaration das Wort »static« vor dem Worte »void« stehen, dann würde es sich um eine Deklaration einer statischen Klassenmethode handeln, und Deklarationen statischer Klassenmethoden haben wird schon behandelt! Uns fehlt also nur noch das Verständnis der Bedeutung des Weglassens des Wortes »static« in der Deklaration einer Methode. Dies wird etwas später im Kurs erklärt werden. Bis dahin nehmen wir es einfach als gegeben hin, daß der Block der Methode »start(javafx.stage.Stage)« beim Programmstart ausgeführt wird. Ansonsten werden wir nämlich bis auf weiteres keine anderen  nicht-statischen Methoden deklarieren. Bis zur Behandlung von Deklarationen nicht-statischer Methoden kann man einfach so tun, also ob es sich bei der start-Methode um einen statische Methode handelt, abgesehen davon, daß sie nicht mit »static« deklariert werden darf.

Hinweis *

Diese Lektion stellt die Programmiersprache Java  zunächst vereinfacht dar. Der Begriff des „Para̲digmas“ ist in Java  so wie hier vorgestellt nicht  allgemein üblich. Auch die Bedeutung des Schlüsselwortes »extends« wurde hier vereinfacht. In späteren Lektionen sollen die üblicheren Bezeichnungen noch erklärt werden.

Das JDK  *

Falls das für diesen Kurs zugrundegelegt JDK  in einer aktuellen Version (in Jahren ab 2016) verwendet wird, kann das Programm wie bisher gestartet werden.

Werden aber andere Entwicklungsumgebungen, wie Netbeans  oder Eclipse, verwendet so muß das neue Para̲digma dort manchmal noch zusätzlich eingestellt werden. Wie dies geht, findet man in der Bedienungsanleitung  der jeweiligen Entwicklungsumgebung. Dort findet man auch, wie man ein Programm manuell beendet, welches sich nicht von alleine endet.

Beendigung des Programms *

Das zuvor gezeigte JavaFX -Programm endete nicht von alleine. Dies ist bei JavaFX -Programmen auch so erwünscht, da sie normalereweise eine graphische Benutzeroberfläche aufbauen und das Programm dann nicht gleich wieder enden soll, damit der Benutzer Gelegenheit hat, mit der graphischen Benutzeroberfläche zu arbeiten.

In bestimmten Fällen soll  ein Programm sich aber selber beenden. Dies ist auf die folgende Weise möglich:

Durch einen Aufruf von »javafx.application.Platform.exit()« wird das Aufrecherhalten der graphischen Benutzeroberfläche beendet. Dieser Aufruf alleine sollte normalerweise schon dazu führen, daß das Programm endet. Jedoch ist der Aufruf von »javafx.application.Platform.exit()« in der start-Methode einer JavaFX -Anwendung unüblich und unter Umständen alleine noch nicht ausreichend, um das Programm zu beenden. Sicherheitshalber werten wir deshalb, nach dem Aufruf von »javafx.application.Platform.exit()«, noch einmal »java.lang.System.exit( 0 )« aus, was das Beenden des Programms unter allen Umständen sicherstellt.

Main.java

public final class Main extends javafx.application.Application
{

public void start( final javafx.stage.Stage stage )
{ java.lang.System.out.println( "Hallo Welt!" );
javafx.application.Platform.exit();
java.lang.System.exit( 0 ); }}

transcript
Hallo, Welt!

Falls die Methode »javafx.application.Platform.exit()« nicht gerade in der start-Methode einer JavaFX -Anwendung aufgerufen wird, dann reicht sie alleine bereits zum Beenden des Programmes aus. Deswegen ist es nicht  empfehlenswert außerhalb der start-Methode einer JavaFX -Anwendung nach »javafx.application.Platform.exit()« noch »java.lang.System.exit( 0 )« zu schreiben.

main-Methode für ältere Entwicklungsumgebungen *

Bei einigen älteren Entwicklungsumgebungen ist bei Verwendungen der Methode »start(javafx.stage.Stage)« noch die folgende statische main-Methode hinzuzufügen.

main-Methode
public static void main( final java.lang.String[] args )
{ javafx.application.Application.launch( args ); }
Aussprachehinweis

launch ” /lɔnʧ/ (n)

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 stefanram723338 stefan_ram:723338 Paradigmen in Java Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723338, slrprddef723338, 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/paradigma_java