类型参数约束

Java泛型类型参数约束机制及应用

JAVA中泛型常常被使用,一般用寄存数据什么的,这里我就不再一一介绍了。

这里介绍泛型的另一个很重要的用途是它的类型参数约束机制。类型参数约束机制作用除了体现在JavaSE Tutorial 介绍的控制实例化过程外,还有如下主要事项

微笑当类成员使用相同类型参数时,该类型参数的约束也同样使用于成员。

微笑设计每一个类型参数约束时,要反复思考,以满足客户的需求。

微笑对于集合类型,尽可能不要在生成代码中出现无约束的类型参数。

这里举一个类型参数约束的例子:

定义一个简单的接口:

<span style="font-size:12px;">package Test;

public interface MyInterface {
	public void say();
}</span>

实现这一接口的Dog类:

package Test;

public class Dog implements MyInterface {

	@Override
	public void say() {
		System.out.println("Dog dog...");
	}
}

测试代码:

<span style="font-size:12px;">package Test;

import java.util.HashMap;
import java.util.Map;

public class Test <k,v extends MyInterface>{//约束条件为extends  MyInterface
	private Map<k,v> map = new HashMap<>();
	public Test<k,v> mapPut(k a,v b){
		map.put(a, b);
		map.get(a).say();
		return this;
	}
	public static void main(String[] args) {
		//由于约束条件使v 只能是实现了MyInterface接口的:
		//Test<String,String> tt = new Test<String,String>();//出错
		Test<String,Dog> t = new Test<String,Dog>();//进行了约束。
		
		Dog b = new Dog();
		b.say();
		t.mapPut("Dog", b);
	}
}</span>

结果为:

Dog dog...
Dog dog...

好了,自己感受下吧。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值