Java 如何知道在返回接口引用时将使用哪个实现

Java 如何知道在返回接口引用时将使用哪个实现,java,class,interface,return,Java,Class,Interface,Return,公共接口的可序列化性扩展{ @Override public IEntity updateEntity(IEntity entity) { String entityType = null; try { entityType = getEntityType(entity); if (entity != null) { getHibernateTemplate().merge(entity); }

公共接口的可序列化性扩展{

@Override
public IEntity updateEntity(IEntity entity) {
    String entityType = null;
    try {
        entityType = getEntityType(entity);
        if (entity != null) {

            getHibernateTemplate().merge(entity);

        }
    } catch (Exception e) {
        ExceptionUtils.throwVSXException(entityType, e);
    }
    return entity;
}

虽然Entity是一个接口,实现了如此多的类,如何理解哪个实现的类将使用此返回值

,您可以使用
instanceof
运算符检查实现类。例如,如果类a和B实现
Entity
接口,则可以检查如下:

ConnectivityEntity getConnectivityEntity();}
@Override
public IEntity updateEntity(IEntity entity) {
   String entityType = ""; // Returing null is bad
   ...... 

   if(entity instanceof A){
    entityType="A class"
   }
   else if(entity instanceof B){
    entityType= "B class"
   }
   return entityType
 }