为什么设计泛型?

1,为什么设计泛型?难道是以前的数据类型不够用吗?

问题:在设计的过程中经常会用到容器类,容器类代码都一样只是数据类型不同,如果能够让一种类型容纳所有类型,就可以实现代码重用,但是没有一种类型可以容纳所有类型,为了解决容器的问题,就需要设计泛型。

最主要的原因是要创建容器类。

 

2,泛型的定义?

泛型是不确定的类型。泛型是类型的参数。

 

3,引用类型做方法参数,泛型(通用)和接口作为方法参数是对比?

接口作为方法的参数时候,传进方法的必须是继承该接口的类。(多态)这样做还是限制了参数的类型。

泛型作为方法的参数,不用担心传进来的对象,所有对象都可以。

 

 

public class genericity <T> {

private T a;

public genericity(T a){this.a = a;};

public void set(T a){this.a = a;}

public T get(){return a;}

public static void main(String[] args) {

genericity <mobile> generic = new genericity<mobile>(new mobile());

mobile mob = generic.get();

//generic.set("not an antomobile");

}

}

class mobile{}

 

接口做参数:需要关心转型:向下转型,需要继承接口。

向上转型,需要转换成需要返回的类型。

 

public class genericity {

private Object a;

public genericity(Object a){this.a = a;};

public void set(Object a){this.a = a;}

public Object get(){return a;}

public static void main(String[] args) {

genericity generic = new genericity(new mobile());//a变成mobile类型

mobile mob = (mobile)generic.get(); //需要强制类型转换。

generic.set("not mobile"); //a变成String

String str = (String)generic.get();

}

}

 

class mobile{}


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值