Получить оригинальный класс, если приведен к его реализованному интерфейсу - PullRequest
0 голосов
/ 03 апреля 2020

Предположим, что класс выглядит следующим образом

interface Dummy{
}

class Funny implements Dummy {
}

Теперь я хочу найти способ получить класс объекта Funny , даже если он приведен к Dummy

1 Ответ

0 голосов
/ 03 апреля 2020

Реализован этот кусок,

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...