泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
假如我们有这样一个要求:写一个排序方法,能够对整形数组,字符串数组甚至其他任何类型的数组进行排序。
这时可以使用Java泛型。
泛型方法:
可以创建一个泛型方法,该方法在调用时可以接受不同类型的参数。根据传递给泛型发放的参数类型,编译器适当的处理每一个方法调用。
规则:
所有泛型方法声明都有一个类型参数声明部分,该类型参数声明部分在方法返回类型之前。
每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。(只要符合标识符命名规则即可。)
类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。
泛型方法的声明和其他的方法一样,注意类型参数只能代表引用型类型,不能是原始类型(如int,double,etc..)
静态方法不可以使用类中定义的泛型
因为类中的泛型需要对象初始化时制定具体的类型,而静态优先于对象存在。那么类中的静态方法就需要单独进行泛型声明,声明泛型一定要写在static之后,返回值类型之前。
定义泛型成员
当father类有子类。
网友评论