Предположим, что класс выглядит следующим образом
interface Dummy{ } class Funny implements Dummy { }
Теперь я хочу найти способ получить класс объекта Funny , даже если он приведен к Dummy
Реализован этот кусок,
Funny fun = new Funny(); Dummy dum = fun; Object obj = fun; Class cdum = dum.getClass(); Class cobj = obj.getClass(); System.out.println(cdum.getName()); System.out.println(cobj.getName()); dum = (Dummy) dum; obj = (Object) fun; cdum = dum.getClass(); cobj = obj.getClass(); System.out.println(cdum.getName()); System.out.println(cobj.getName());
Получены выходные данные как
Funny Funny Funny Funny