/* ************************************************************************ * TESTREIHE: * Wie arbeiten verschiedene Programmbestandteile in JAVA zusammen? * * Autorin: Sigrid Wehner * Stand: 1.6.2002 * ----------------------------------------------------------------------- * diese Quelle: Hpex2a.java * Bestandteile: * ------------ * Quelle: Hpex2a.java Klasse liegt in aktueller Directory z.B.: * /home/sigrid/hiwi/javatests/ex2a/ * int min Methode - dieselbe Quelle - * long min Methode - dieselbe Quelle - * main Methode - dieselbe Quelle - * * benoetigt: Klamax.class Klasse liegt in einer anderen Directory, * z.B. im Unterverzeichnis ./unterdir/ * des aktuellen, also im Pfad * /home/sigrid/hiwi/javatests/ex2a/unterdir * int max Methode - aus Klasse Klamax - * long max Methode - aus Klasse Klamax - * * Erkenntnis: (1) Der Methodenaufruf aus der externen Klasse Klamax * funktioniert nur mittels KOMPLETTEN Namen: * z.B.: Klamax.max * (2) Die externe Klasse Klamax kann auch in einem anderen * Verzeichnis als dem aktuellen vorliegen, und zwar * sowohl als uebersetzte .class Datei als auch als * .java Quelldatei. In dem Fall wird bei Aufruf von * javac Hpex2a.java eine uebersetzte .class Datei im * zugehoerigen Pfad erzeugt. * (3) Ebenso gilt: * Liegen Klamax.java als Quelle UND Klamax.class als * Klasse vor, wird bei Aufruf von javac Hpex2a.java * die Quelle neu uebersetzt, falls sie neueren Datums * als die .class Datei ist. * (4) Liegt die externe Klasse Klamax AUSSERHALB des * aktuellen Pfades, sind folgende Optionen fuer * javac und java zu beachten: * * fuer den Java-Compiler die -classpath-Option: * --------------------------------------------- * javac -classpath ./unterdir Hpex2a.java * * fuer den Java-Interpreter die -classpath-Option * (oder abgekuerzt -cp): * ------------------------------------------------ * java -cp .:./unterdir Hpex2a * * ACHTUNG: Bei javac koennen Optionen und Quellnamen * in beliebiger Reihenfolge erscheinen! * INKONSISTENTERWEISE muessen bei java ZUERST die * Optionen, danach die Klasse genannt werden !!! * ************************************************************************ */ /** Hpex2a:
* Ablauffaehige Klasse, beinhaltet Methode main
* sowie 2 Methoden mit demselben Namen min,
* jedoch unterschiedlichen Parametertypen * @author Sigrid Wehner * @version 1.6.2002 */ public class Hpex2a { /** Sucht Minimum von 2 Integer-Zahlen * @param i erste Integerzahl * @param j zweite Integerzahl * @return Minimum der beiden Zahlen */ static int min (int i, int j) { if (i < j) return i; return j; } /** Sucht Minimum von 2 Long-Zahlen * @param i erste Longzahl * @param j zweite Longzahl * @return Minimum der beiden Zahlen */ static long min (long i, long j) { if (i < j) return i; return j; } /** Hauptprogramm */ public static void main (String args []) { long along=22l, blong=999l; int aint=33, bint=44; System.out.println(); System.out.print("MINIMUM --> Ergebnis von Methode int min (int, int) : "); System.out.println (min(aint,bint)); // diese Quelle, diese Klasse System.out.print("MINIMUM --> Ergebnis von Methode long min (long,long): "); System.out.println (min(along,blong)); // diese Quelle, diese Klasse System.out.println(); System.out.print("MAXIMUM --> Ergebnis von Methode int max (int, int) : "); System.out.println (Klamax.max(aint,bint)); //...geht nicht: System.out.println (max(aint,bint)); // andere Klasse, aktueller Pfad System.out.print("MAXIMUM --> Ergebnis von Methode long max (long,long): "); System.out.println (Klamax.max(along,blong)); //...geht nicht: System.out.println (max(along,blong)); // andere Klasse, aktueller Pfad System.out.println(); } }