hi Claire
well, in
test class we don't have another int i and
String s defined right? so, we have ONLY ONE copy of variable i and variable s hence super.i = this.i for test object and super.s = this.s as well.
do u see what i mean?
super.i and this.i is just different mehtods of referring to same variable here (same for super.s and this.s)..
try ,
System.out.println(super.s == this.s ); in compare() method, it will return u "true" meaning both the String referrences are same...
regards
maulin