summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/examples/Listing4301.java
diff options
context:
space:
mode:
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing4301.java')
-rw-r--r--Master/Reference Architectures and Patterns/hjp5/examples/Listing4301.java75
1 files changed, 75 insertions, 0 deletions
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