I suppose what you guys are saying is that class D did override of method equals(). You cant say that it didnt override equals and used the Object's equals() method. Becuase if you say so...Objects equals() is same as (==) opearator...Remember???Two objects would always be different even though they are meaninfully equal util you override eqauals().
The original question did not provide equals() implementation so I wrote it my way...The question was too broad.But if did provide overridden equals() as below.
Public boolean equals(Object o){
return this.i1 == o.i1;
}
Than the answer is D.
[ April 25, 2007: Message edited by: megha joshi ]
[ April 25, 2007: Message edited by: megha joshi ]