summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--output/ex24.java (renamed from output/ex22.java)10
-rw-r--r--output/negative/TrickyReturn-error.java21
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();
+ }
+}