泛型程序设计

2021/6/20 11:51:40

本文主要是介绍泛型程序设计,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

泛型程序设计 ( Generic programming ) 意味着编写的代码可以被很多不同类型的对象所重用。 ArrayList 类可以聚集任何类型的对象 。 这是一个泛型程序设计的实例 。

定义简单泛型类

一个泛型类 ( generic class ) 就是具有一个或多个类型变量的类。

public class Stu<N , A , S>{
	private N name;
	private A age;
	private S sex;
	public Stu(N name , A age , S sex) {
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
	public N getName() {
		return name;
	}
	public void setName(N name) {
		this.name = name;
	}
	public A getAge() {
		return age;
	}
	public void setAge(A age) {
		this.age = age;
	}
	public S getSex() {
		return sex;
	}
	public void setSex(S sex) {
		this.sex = sex;
	}
	
	
}

Pair 类引人了一个类型变量 T(使用大写的形式,K和V分别表示关键字和值的类型,T(或者U S)表示任意类型),E表示集合的元素类型, 用尖括号( < > ) 括起来, 并放在类名的后面 。 泛型类可以有多个类型变量。 类定义中的类型变量指定方法的返回类型以及域和局部变量的类型。

泛型方法

到目前为止,我们所使用的泛型都是应用于整个类上。泛型同样可以在类中包含参数化的方法,而方法所在的类可以是泛型类,也可以不是泛型类。也就是说,是否拥有泛型方法,与其所在的类是不是泛型没有关系。

类型变量放在修饰符 ( 这里是 publicstatic ) 的后面, 返回类型的前面 。

[访问权限修饰符] [static] [final] <类型参数列表> 返回值类型 方法名([形式参数列表])
public static <T> List find(Class<T> cs,int userId){}

泛型的高级用法

限制泛型可用类型

在 Java 中默认可以使用任何类型来实例化一个泛型类对象。当然也可以对泛型类实例的类型进行限制,语法格式如下:

class 类名称<T extends anyClass>

其中,anyClass 指某个接口或类。使用泛型限制后,泛型类的类型必须实现或继承 anyClass 这个接口或类。无论 anyClass 是接口还是类,在进行泛型限制时都必须使用 extends 关键字。

 

 

 

 

 

 



这篇关于泛型程序设计的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程