首页 > 试题广场 >

欲构造ArrayList类的一个实例,此类实现了List接口

[单选题]
欲构造ArrayList类的一个实例,此类实现了List接口,下列哪个方法是正确的?
  • ArrayList myList=new Object()
  • List myList=new ArrayList()
  • ArrayList myList=new List()
  • List myList=new List()
答案是B
          本题考查在Java中如何实现接口。选项A错误,只是实例化了一个ArrayList类的对象myList,而没有实现接口;选项B正确,用List来声明MyList实现接口,并用ArrayList构造出一个实例;选项C错误,List并不是一个类,不能用new关键字;选项D错误,接口不能实例化—个接口。故本题的答案是B。
发表于 2016-12-21 14:50:44 回复(1)
属于面向接口编程,是java语言的一大优点。ArrayList虽然是一个具体的类,按照ArrayList myList=new ArrayList();的确也可以生成一个myList对象,而且编译也不会报错。但是在实际开发中时不采用这样的方式即实际开发时都是 接口名 xxx=new 接口某实现类()。这样便于
1、便于程序规范化设计 
2、便与团队协同开发 
3、便于转换为组件 
4、方便的代码复用,无需了解技术细节。
发表于 2017-12-11 14:35:15 回复(0)
题目就错了,类继承了接口?
发表于 2017-06-06 17:27:46 回复(2)
java中允许将子类的实例交给父类的引用
发表于 2017-03-02 19:33:23 回复(0)
是子类对象指向父类引用,也是面向接口List编程
发表于 2018-11-02 10:22:23 回复(0)
Java中的多态,父类的引用指向子类的对象
发表于 2017-06-25 20:36:26 回复(0)
第4个可以通过创建匿名类来写

		List t = new List() {

			public int size() {
				// TODO Auto-generated method stub
				return 0;
			}

			public boolean isEmpty() {
				// TODO Auto-generated method stub
				return false;
			}

			public boolean contains(Object o) {
				// TODO Auto-generated method stub
				return false;
			}

			public Iterator iterator() {
				// TODO Auto-generated method stub
				return null;
			}

			public Object[] toArray() {
				// TODO Auto-generated method stub
				return null;
			}

			public Object[] toArray(Object[] a) {
				// TODO Auto-generated method stub
				return null;
			}

			public boolean add(Object e) {
				// TODO Auto-generated method stub
				return false;
			}

			public boolean remove(Object o) {
				// TODO Auto-generated method stub
				return false;
			}

			public boolean containsAll(Collection c) {
				// TODO Auto-generated method stub
				return false;
			}

			public boolean addAll(Collection c) {
				// TODO Auto-generated method stub
				return false;
			}

			public boolean addAll(int index, Collection c) {
				// TODO Auto-generated method stub
				return false;
			}

			public boolean removeAll(Collection c) {
				// TODO Auto-generated method stub
				return false;
			}

			public boolean retainAll(Collection c) {
				// TODO Auto-generated method stub
				return false;
			}

			public void clear() {
				// TODO Auto-generated method stub
				
			}

			public Object get(int index) {
				// TODO Auto-generated method stub
				return null;
			}

			public Object set(int index, Object element) {
				// TODO Auto-generated method stub
				return null;
			}

			public void add(int index, Object element) {
				// TODO Auto-generated method stub
				
			}

			public Object remove(int index) {
				// TODO Auto-generated method stub
				return null;
			}

			public int indexOf(Object o) {
				// TODO Auto-generated method stub
				return 0;
			}

			public int lastIndexOf(Object o) {
				// TODO Auto-generated method stub
				return 0;
			}

			public ListIterator listIterator() {
				// TODO Auto-generated method stub
				return null;
			}

			public ListIterator listIterator(int index) {
				// TODO Auto-generated method stub
				return null;
			}

			public List subList(int fromIndex, int toIndex) {
				// TODO Auto-generated method stub
				return null;
			}
			
		};


发表于 2017-04-02 14:03:09 回复(0)
除了答案B的写法;也可以写成ArrayList myList =  new ArrayList()。
发表于 2017-02-08 21:38:25 回复(0)