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
}