main() { var print1=printData(1); var print2=printData("1"); print(print1.runtimeType); print(print2.runtimeType); } class printData<T> { T t; printData(this.t); }
三 泛型约束及泛型函数
3.1 说明
泛型约束:又叫泛型受限,使用extends限定,指参数只能取值某个规定类的子类
泛型函数:指函数的参数只能取值某个已知类及其子类
3.2 泛型约束
1 2 3 4 5 6
abstract class Object {} class Animal extends Object {} class printClass<T extends Object> {} main() { var printC = printClass<Animal>(); }
3.3 泛型函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
abstract class Object { var name; Object(this.name); } class Animal extends Object { Animal(name) : super(name); }