问题描述
Gene是最上层的接口,代码来源于国外的java遗传算法的jentics库。其中A是类型,关键是 G extends Gene<A, G>,看不懂public interface Gene<A, G extends Gene<A, G>> extends Factory<G>, Serializable, ValueType, Verifiable {/** * Return the allel of this gene. * * @return the allel of this gene. */public A getAllele();}
解决方案
泛型在是编译期间编译器检查 你写的代码是否符合规范比如我实现Geneclass GeneImpl<A, G extends Gene<A, G>> implements Gene{public GeneImpl(A a,G g){}@Overridepublic Object getAllele() {// TODO Auto-generated method stubreturn null;}}在new GeneImpl(xx,yy )是会检查你传入的参数是否合法,xx是否是A类型;yy是否是Gene或其子类型
时间: 2024-11-16 13:15:55