黑马程序员----------------------泛型

来源:互联网 发布:雷石世纪软件 编辑:程序博客网 时间:2024/06/05 17:00

----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! --------------------

泛型:

泛型是个编译器看的
参数化类型与原始类型的兼容性:
参数化类型可以引用一个原始类型的对象,编译报告警告,例如:
Collection<String> c = new Vector();//可不可以,不就是编译器一句话事吗?
原始类型可以引用一个参数化类型的对象,编译报告警告,例如,
Collection c = new Vector<String>();//原来的方法接受一个集合参数,新的类型也要传进去

Vector v1 = new Vector<String>(); //不错
Vector<Object> v = v1; //报错

泛型中的?通配符

总结:
使用?通配符可以引用其他各种参数化的类型,?通配符定义的变量主要作引用,可以调用
与参数化无关的方法,不能调用与参数化有关的方法。

泛型的类型,只能是引用类型,不能是基本数据类型,例如:
Score<int> 错误
Score<Integer> 正确
当一个变量被声明为泛型时,只能被实例变量和方法调用(还有内嵌类型)
而不能被静态变量和静态方法调用。因为静态成员是被所有参数化的类所共享的,,

所以静态成员不应该有类级别的类型参数

----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! --------------------

0 0
原创粉丝点击