java中泛型的应用

今天跟大家分享一下,java中的泛型机制,在这篇文章介绍了,泛型在接口、类、一般方法、静态方法的实现实例
 

package interview;


/**
 * @author jing
 *
 * 泛型:jdk1.5出现的安全机制。
 * 好处:
 * 1,将运行时期的问题ClassCastException转到了编译时期。
 * 2,避免了强制转换的麻烦。
 * 
 * 当操作的引用数据类型不确定时,我们就要使用到泛型
 *
 *
 */




/*将泛型定义在类上*/
public class GenericDemo<QQ>{

private QQ q;


public QQ getObject() {
return q;
}


public void setObject(QQ object) {
this.q = object;
}

/*将泛型定义在方法上。*/
public <W> void show(W str){
System.out.println("show : "+str.toString());
}

/*使用类上定义的泛型,来定义一般方法*/
public void print(QQ q){
System.out.println("print : "+q);
}

/*下面这种写法是不对的,因为静态是不需要对象,所以他不知道类上
定义的泛型,当方法静态时,不能访问类上定义的泛型。如果静态方法
使用泛型,只能将泛型定义在方法上。 因为静态的方法不需要类
public static void method1(QQ q){
System.out.println("method:"+obj);
}*/

/*正确的将泛型定义在静态方法上*/
public static <Y> void method(Y obj){
System.out.println("method:"+obj);
}

}


/*泛型接口,将泛型定义在接口上。 */
interface Inter<T>{
public void show(T t);
}


/*用两个类去实现上面带有泛型的接口,第一个类实现之后还是带有泛型,说明此类要操作的引用类型还是不确定的
第二个类是用具体类型实现的,指定此类操作的是String类型的引用*/


class InterImpl2<Q> implements Inter<Q>{
public void show(Q q){
System.out.println("show :"+q);
}
}


class InterImpl implements Inter<String>{
public void show(String str){
System.out.println("show :"+str);
}
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值