有个专门做3d同人网站,黑龙江省建设主管部门网站,企业管理有限公司经营范围有哪些,301网站目录1、限制泛型可用类型在定义泛型类别时#xff0c;预设可以使用任何的类型来实例化泛型中的类型#xff0c;但是如果想要限制使用泛型的类别时#xff0c;只能用某个特定类型或者其子类型才能实例化该类型时#xff0c;使用extends关键字指定这个类型必须是继承某个类#…1、限制泛型可用类型在定义泛型类别时预设可以使用任何的类型来实例化泛型中的类型但是如果想要限制使用泛型的类别时只能用某个特定类型或者其子类型才能实例化该类型时使用extends关键字指定这个类型必须是继承某个类或者实现某个接口。如下Codepublic class ListGenericFlag {private T[] flagArray;public T[] getFlagArray() {return flagArray;}public void setFlagArray(T[] flagArray) {this.flagArray flagArray;}}测试public static void main(String[] args) {ListGenericFlag flag1 new ListGenericFlag();ListGenericFlag flag2 new ListGenericFlag();LinkedList[] likedList new LinkedList[10];flag1.setFlagArray(likedList);ArrayList[] arrayLists new ArrayList[10];flag2.setFlagArray(arrayLists);}如果出入的是HashMap就会显示出错2、当没有指定泛型继承的类型或接口时默认使用T extends Object所有默认情况下任何类型都可以作为参数传入。如下图Code可以增加任何对象。3、现在有这样一个需求需要实现如下flag new GenericFlag()flag new GenericFlag简单的说实例化类型持有者时它必须是实现List的类别或其子类别要定义这样一个名词可以使用“”通配子元并使用“extends”关键字限定类型持有者的型态。实现的Code如下public class GenericTest {private T flag;public T getFlag() {return flag;}public void setFlag(T flag) {this.flag flag;}public static void main(String[] args) {//固定语法GenericTest extends List g1 null;g1 new GenericTest();g1 new GenericTest();}}super为list上面的(用的较少)GenericTest super List g2 null;g2 new GenericTest();4、泛型的继承定义了Parent类里面有泛型T1和T2public class Parent {private T1 flag;private T2 flag2;public T1 getFlag() {return flag;}public void setFlag(T1 flag) {this.flag flag;}public T2 getFlag2() {return flag2;}public void setFlag2(T2 flag2) {this.flag2 flag2;}}定义了Child类定义了T3。同时可以访问父类的T1和T2public class Child extends Parent {private T3 flag3;public T3 getFlag3() {return flag3;}public void setFlag3(T3 flag3) {this.flag3 flag3;}}5、泛型接口的继承定义一个泛型接口public interface IParent {public void setFlag1(T1 flag1);public void setFlag2(T2 flag2);public T1 getFlag1();public T2 getFlag2();}定义泛型接口的实现类public class ChildClass implements IParent {private T1 flag1;private T2 flag2;public void setFlag1(T1 flag1) {this.flag1 flag1;}public void setFlag2(T2 flag2) {this.flag2 flag2;}public T1 getFlag1() {return flag1;}public T2 getFlag2() {return flag2;}}