AI智能整理导入 AI智能整理导入
×
首页 题库中心 研发工程师模拟测试题库 题目详情
CA7245CE852000018CC42C30E85A107C
研发工程师模拟测试题库
646
单选题

欲构造ArrayList类得一个实例,此类继承了List接口,下列哪个方法是正确的( )

A
ArrayList myList = new Object();
B
List myList = new ArrayList();
C
ArraylList myList = new List();
D
List myList = new List();

答案解析

正确答案:B

解析:

这道题目考察的是Java中接口与类的关系以及如何正确地创建对象实例。我们逐一分析每个选项:

A. ArrayList myList = new Object();

这个选项尝试将myList声明为ArrayList类型,但尝试用Object的实例来初始化它。这是不正确的,因为ArrayList是Object的子类,但Object不是ArrayList,所以不能用Object的实例来赋值给ArrayList类型的变量。此外,这样做也无法利用ArrayList提供的特定功能。

B. List myList = new ArrayList();

这个选项是正确的。这里myList被声明为List接口的类型,而ArrayList是实现了List接口的类。在Java中,你可以使用接口类型的引用来指向实现了该接口的类的实例。这样做的好处是提高了代码的灵活性和可扩展性,因为以后如果需要更换实现(比如换成LinkedList),只需要改变实例化的部分,而不需要修改引用变量的类型。

C. ArraylList myList = new List();

这个选项有几个错误。首先,ArraylList拼写错误,应该是ArrayList。其次,尝试用List的实例来初始化ArrayList类型的变量是不允许的,因为List是一个接口,不能直接实例化。正确的做法应该是用实现了List接口的类的实例来初始化,如new ArrayList()。

D. List myList = new List();

这个选项也是错误的。List是一个接口,不能直接实例化。需要用一个实现了List接口的类的实例来初始化,比如new ArrayList()或new LinkedList()。

综上所述,正确答案是B,因为它正确地使用了接口类型的引用来指向实现了该接口的类的实例,既符合Java的类型安全原则,也提高了代码的灵活性和可扩展性。

相关知识点:

ArrayList实例创建用List接口

研发工程师模拟测试题库

扫码进入小程序
随时随地练习

关闭
专为自学备考人员打造
试题通
自助导入本地题库
试题通
多种刷题考试模式
试题通
本地离线答题搜题
试题通
扫码考试方便快捷
试题通
海量试题每日更新
试题通
欢迎登录试题通
可以使用以下方式扫码登陆
试题通
使用APP登录
试题通
使用微信登录
xiaochengxu
联系电话:
400-660-3606
xiaochengxu