25.2: 
11 and a half:

5 methods for common things to do with objects:
clone()
equals()
finalize()
hashCode()
toString()

One introspection (reflection) method:
getClass()

The 5 synchronization methods:
notify()
notifyAll()
3 flavors of wait()

(which adds up to 11)

There is also of course the constructor, 
but it is a bit special, since it can not  
be accessed directly.

25.4:

The methods outputs 'true'. If == was used, 'false' 
would be output, since a1, a2 refer to different objects

The examples with B all return 'true' as well, since they 
all uses the very same .equals() method, which just compares
the value of k. 
