单选题
1、Java中,在没有引入泛型之前,集合把所有对象当成数据类型是()
10分
-
A、A、Object
-
B、B、String
-
C、C、int
-
D、D、数组
参考答案 :
A
答案说明 :
无
2、如果泛型方法是静态方法,调用它使用的是()
10分
-
A、A、对象名
-
B、B、类名
-
C、C、两者都可以
-
D、D、两者都不可以
参考答案 :
B
答案说明 :
如果泛型方法是静态方法,可以使用类名进行调用。
3、Object中可以获取对象的运行时类的方法是()
10分
-
A、A、getClass()
-
B、B、getInfo()
-
C、C、setInfo()
-
D、D、main()
参考答案 :
A
答案说明 :
Object中的getClass()方法可以获取对象的运行时类。
4、当使用泛型类实现泛型接口时,需要将泛型的声明加在实现类中,并且泛型类和泛型接口使用的必须是(),否则会出现编译时异常。
10分
-
A、A、不同类型形参变量
-
B、B、同一名称形参变量
-
C、C、同一个类型形参变量
-
D、D、不同名称形参变量
参考答案 :
C
答案说明 :
当使用泛型类实现泛型接口时,需要将泛型的声明加在实现类中,并且泛型类和泛型接口使用的必须是同一个类型形参变量,否则会出现编译时异常。
5、下列泛型接口格式正确的是()
10分
- A、
<T>interface Info { public T getVar(); }
- B、
Info<T> interface { public T getVar(); }
- C、
interface Info<T> { public T getVar(); }
- D、
interface Info<T> { public getVar(); T}
参考答案 :
C
答案说明 :
[访问权限] interface 接口名称<类型形参变量>{}
6、类型通配符可以匹配任何类型的类型实参,表示它的符号是()
10分
-
A、A、!
-
B、B、&
-
C、C、*
-
D、D、?
参考答案 :
D
答案说明 :
类型通配符用一个问号(?)表示,类型通配符可以匹配任何类型的类型实参。
7、和使用非泛型类实现接口相比,使用泛型类实现接口,在创建对象时类型实参()
10分
-
A、A、可以为任意类型
-
B、B、必须为指定类型
-
C、C、必须为int型
-
D、D、必须为char型
参考答案 :
A
答案说明 :
和使用非泛型类实现接口相比,使用泛型类实现接口,在创建对象时类型实参可以为任意类型。
8、有时不想让某个泛型类接收所有类型的类型实参,只想接收指定的类型及其子类,这时可以为类型通配符设定()
10分
-
A、A、上限
-
B、B、下限
-
C、C、限制
-
D、D、范围
参考答案 :
A
答案说明 :
有时不想让某个泛型类接收所有类型的类型实参,只想接收指定的类型及其子类,这时可以为类型通配符设定上限。
判断题
9、在实际应用中,只有泛型类被使用时,该类所属的类型才能确定。()
参考答案 :
对
答案说明 :
无
10、定义泛型方法时,返回值类型必须写在类型参数的后面。()
参考答案 :
对
答案说明 :
无
11、合理使用泛型可以避免在程序中进行强制类型转换。()
参考答案 :
对
答案说明 :
无
12、创建泛型类的对象时,强制要求传入类型实参。()
参考答案 :
错
答案说明 :
创建泛型类的对象时,不强制要求传入类型实参。
13、使用泛型后,将类型的检查从运行期提前到编译期。()
参考答案 :
对
答案说明 :
无