The thing that always confused me most about the Object class is the fact that the toString() method returns a String, which extends Object. It seems to be the chicken and the egg situation...