Se vuoi che una classe possa fare qualche operazione su un oggetto deve pur sapere qualcosa sul suo tipo, altrimenti tutto quello che può fare è invocare i metodi di Object, coi quali ovviamente non vai lontano.

Se l'interfaccia che hai creato è troppo specifica usane una più generica, però il metodo della tua classe deve lavorare su una specifica interfaccia, sta a te scegliere quale e quanto essa sia generica o specifica. Nella classe Classe1 hai un metodo che crea un oggetto e ci invoca i metodi metodo1 e metodo2? Bene, allora quel metodo creerà un oggetto il cui tipo sarà un'interfaccia contenente almeno i metodi metodo1 e metodo2. Più generico di così non puoi essere, è ovvio che il tipo su cui lavori debba almeno contenere le operazioni che vuoi fare.