第八章 泛型

一、填空题

1.泛型的作用是支持类型参数化

2.泛型可以用在类、接口和方法的定义中,分别称为泛型类、型接口 泛型方法

3.在Java程序中,经常会有参数类型或返回值类型不确定的方法,这种方法在Java中统称为泛型方法

4.泛型接口的实现类有两种定义方式,一种是直接接口中明确地给出泛型类型,另一种是直接在实现后声明泛型。

二、判断题

1.在泛型<T>中,T不可以使用其他字母代替。

2.在实际应用中,只有泛型类被使用时,该类所属的类型才能被明确。

3.合理使用泛型可以避免在程序中进行强制类型转换。

4.定义泛型方法时,返回值类型必须写在类型参数列表的后面。

5.在泛型中,类型参数可以用在方法体中修饰局部变量,也可以修饰方法的返回值。

三、选择题

1.下列关于泛型的说法中,错误的是(D

A、泛型是JDK5.0的新特性

B、ArrayList<E>中的E称为类型变量或类型参数

C、泛型中的通配符?用于表示任意类型

D、在对泛型类型进行参数化时,类型参数的实例必须是基本类型

2.下列选项中,哪个可以正确地定义一个泛型(A

A、ArrayList<String>list=newArrayList<String>();

B、ArrayListlist<String>=newArrayList();

C、ArrayListlist<String>=newArrayList<String>();

D、ArrayList<String>list=newArrayList();

3.Java中,在没有泛型之前,集合把所有对象当成哪种类型的数据进行处理(A

A、Object  B、String  C、int  D、数组

4.在Java程序开发中,使用泛型进行程序开发的优点有(AC)(多选)

A、提高代码的可重用性

B、提高代码的可读性

C、在编译器进行类型检查,保证类型安全

D、以类型转换异常的形式保证类型安全

简答题
1.简述泛型的优点。

(1)提高类型的安全性。

泛型的主要目标是提高Java程序的类型安全性,即可以通过泛型定义对变量类型进行限制,在对变量类型限制之后编译器可以更好的进行类型验证。

(2)避免强制类型转换。

使用泛型的另一个好处是避免源代码中的许多强制类型转换。这使得代码可读性更高,并且减少出错机会。尽管减少强制类型转换可以降低使用泛型类代码的复杂度,但是声明泛型变量会带来相应的复杂操作。

编程题
请按照下列提示编写一个泛型接口以及其实现类。  
提示:
创建一个泛型接口Generic<T>,并创建一个抽象方法get(T t)。
创建一个实现类GenericImpl<T>,空实现get(T t)方法。

 

interface Generic<T>{
    public abstract T get(T t);
}
 class GenericImpl<T> implements  Generic<T>{
    public T get(T t){
        System.out.println(t);
        return t;
    }
}
 public class Examplle{
     public static void main(String[]args) {
         Generic<String> gen1=new GenericImpl<String>();
         gen1.get("Hello");
         Generic<Integer> gen2=new GenericImpl<>();
         gen2.get(2);
     }
 }

或 

 interface Generic<T>{     
 public abstract void get(T t){} 
 } 
 class Generic<T> implements Generic{     
  public void get(T t){} 
 }

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值