有如下的一个接口,叫做:GenericDao,有几点不理解:
1、虽然知道E,K,V都是泛型,但是一直不太理解有什么用,比如:>这段代码有什么用,实现什么功能?如果不写会有什么影响?
2、为什么在类的定义中还可以extends,一般不都是 class A1 extends A,这么写么?为什么可以class A1
package com.patsnap.common.bean;
import com.patsnap.common.entity.DBVersionEntity;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* Author: shenyineng
* Date: 9/25/15.
*/
public interface GenericDao<K extends Serializable, E extends DBVersionEntity<K>> {
/**
* Get target entity by id
*
* @param id specified id
* @return specified entity
*/
E get(@Valid @NotNull K id);
/**
* Save a entity
*
* @param entity specified entity
*/
void save(@Valid @NotNull E entity);
/**
* Delete a specified entity
*
* @param entity specified entity
*/
void delete(E entity);
/**
* Delete a target entity by its id
*
* @param id specified id
*/
void delete(@Valid @NotNull K id);
}
希望谁能帮忙解答一下,多谢。