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

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

答案是List myList=new ArrayList();

请问为什么不是 ArrayList myList=new ArrayList(); ?

这个称之为面向接口编程,是java语言的一大优点。ArrayList虽然是一个具体的类,按照ArrayList myList=new ArrayList();的确可以生成一个myList对象,而且编译也不会报错。但是在实际开发中时不采用这样的方式即实际开发时都是 接口名 xxx=new 接口某实现类()。这样便于
1。便于程序规范化设计
2。便与团队协同开发
3。便于转换为组件
4。方便的代码复用,无需了解技术细节。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-08
ArrayList是一个实现List这个接口的类(AbstractList)的子类 2个都没有错 一般如果不是必须要去用ArrayList自己扩展的方法和属性 我们一般选用List 因为List有很多实现类 哪天你要用其他实现类 不用ArrayList 你只需要改这句代码 List myList=new ArrayList()而不用改后面一堆的代码。
第2个回答  2013-01-08
你应该是新手吧,List myList=new ArrayList(); 和下面ArrayList myList=new ArrayList();区别是这样前一个向上转型,mylist还含有别的方法,ArrayList是List的一个子类追问

是的初学者……请问意思是父类引用指向子类对象吗?因为这样写才能表示继承关系是吗?

追答

可以QQ联系,你私信给我,联系

第3个回答  2013-01-08
如果答案是:ArrayList myList=new ArrayList(),那和list没关系了追问

请问继承了List接口和没有继承创建对象时有什么不一样?

追答

List是ArrayList的一个接口。如果后面想把ArrayList改成LinkList就不会造成改动很大的代码。在需要某些优化的时候会进行改动,这个也是个好处。以后学了java可以去看看thinking in java

第4个回答  2013-01-08
ArrayList myList=new ArrayList();这样也行的吧。追问

请问继承了List接口和没有继承创建对象时有什么不一样?

追答

ArrayList本来就是List的子类了呀,那有没继承的说法,只是List myList=new ArrayList(); 是向上转型而已,面向接口编程的写法。

相似回答