diff options
-rw-r--r-- | output/ex24.java (renamed from output/ex22.java) | 10 | ||||
-rw-r--r-- | output/negative/TrickyReturn-error.java | 21 |
2 files changed, 26 insertions, 5 deletions
diff --git a/output/ex22.java b/output/ex24.java index 5d3107e..93f6936 100644 --- a/output/ex22.java +++ b/output/ex24.java @@ -1,4 +1,4 @@ -class Overloading { +class Overriding { public static void main(String[] args) { System.out.println(new A().init()); } @@ -9,13 +9,13 @@ class A { return 0; } - public int x(A a) { - return 1; + public A x(A a) { + return new B(); } } class B extends A { - public int x(B a) { - return 2; + public B x(A a) { + return new B(); } } diff --git a/output/negative/TrickyReturn-error.java b/output/negative/TrickyReturn-error.java new file mode 100644 index 0000000..b8c8600 --- /dev/null +++ b/output/negative/TrickyReturn-error.java @@ -0,0 +1,21 @@ +class Overriding { + public static void main(String[] args) { + System.out.println(new A().init()); + } +} + +class A { + public int init() { + return 0; + } + + public B x(A a) { + return new B(); + } +} + +class B extends A { + public A x(A a) { + return new A(); + } +} |