1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
package p;
class A {
int i;
void m(int i) {this.i = i;}
}
class Super extends A {
void m(int i) { super.m(1); }
}
class Recursive extends A {
void m(int i) { if (true) m(i); }
}
class ThisRecursive extends A {
void m(int i) { this.m(i); }
}
class AlmostRecursive extends A {
void m(int i) { new A().m(i); }
}
class RecursiveOrNot extends A {
void m(int i) { new RecursiveOrNot().m(i); }
}
class NonRecursive extends A {
void m(int i) { int k= i; }
}
class Calling extends A {
void bar() { m(17); }
}
class Calling2 {
void bar() { new A().m(17); }
}
class Calling3 {
void bar() { new Recursive().m(17); }
}
|