No... io posso confrontare anche oggetti di tipo diverso. Ovviamente perchè il test abbia successo è necessario che i due oggetti siano confrontabili e abbiano lo stesso significato.

Esempio:
codice:
JPanel jp = new JPanel();
JPanel nuovo = new JPanel();

System.out.println( jp.equals(nuovo) );
Questo ritorna false perchè gli oggetti complessi, al loro interno, sono rappresentati diversamente (ovvero ci sono degli attributi diversi, come il Nome interno).


Ma a priori potrebbero anche essere uguali.


Ciao.