From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/Listing4301.java | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Listing4301.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing4301.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing4301.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing4301.java new file mode 100644 index 0000000..562bd1c --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing4301.java @@ -0,0 +1,75 @@ +/* Listing4301.java */ + +import java.io.*; + +interface HelloMeth +{ + public void hello(); +} + +class CA +implements HelloMeth +{ + public void hello() + { + System.out.println("hello CA"); + } +} + +class CB +implements HelloMeth +{ + public void hello() + { + System.out.println("hello CB"); + } +} + +class CC +{ + public void hello() + { + System.out.println("hello CC"); + } +} + +class CD +{ + public void hallo() + { + System.out.println("hallo CD"); + } +} + +public class Listing4301 +{ + public static void main(String[] args) + { + String buf = ""; + BufferedReader in = new BufferedReader( + new InputStreamReader( + new DataInputStream(System.in))); + while (true) { + try { + System.out.print("Klassenname oder ende eingeben: "); + buf = in.readLine(); + if (buf.equals("ende")) { + break; + } + Class c = Class.forName(buf); + Object o = c.newInstance(); + ((HelloMeth)o).hello(); + } catch (IOException e) { + System.out.println(e.toString()); + } catch (ClassNotFoundException e) { + System.out.println("Klasse nicht gefunden"); + } catch (ClassCastException e) { + System.out.println(e.toString()); + } catch (InstantiationException e) { + System.out.println(e.toString()); + } catch (IllegalAccessException e) { + System.out.println(e.toString()); + } + } + } +} \ No newline at end of file -- cgit v1.2.3