Действительно instanceof
должно быть достаточно хорошо, но если вы хотите быть уверенным, что класс действительно является подклассом, вы можете предоставить проверку следующим образом:
if (object instanceof Event && object.getClass() != Event.class) {
// is a sub-class only
}
Поскольку Адриан был немногопередо мной я также добавлю способ, которым вы могли бы сделать это с помощью метода общего назначения.
public static boolean isSubClassOnly(Class clazz, Object o) {
return o != null && clazz.isAssignableFrom(o) && o.getClass() != clazz;
}
Используйте это:
if (isSubClassOnly(Event.class, object)) {
// Sub-class only
}