当前位置:   article > 正文

java new list()_java – 原因 – List list = new ArrayList();

java new list()

当有人写这样的代码时,他/她正在努力遵循基本的OO设计原则 –

Program to an interface, not to a concrete implementation

我在one of my blog posts中已经解释了这个原则。查看类继承VS接口继承部分。

要总结这篇文章,当您使用父类型的引用来引用子类型的实例时,会获得很大的灵活性。例如,如果您以后需要更改子类型实现,则可以轻松地执行此操作,而无需更改大量代码。

考虑以下方法 –

public void DoSomeStuff(Super s) {

s.someMethod();

}

并调用此方法 –

DoSomeStuff(new Sub());

现在,如果您需要更改someMethod内的逻辑,可以通过声明一个新的Sub类型,即NewSubType,并更改该实现中的逻辑来轻松实现。这样,您就不用再碰触利用该方法的其他现有代码。您仍然可以按照以下方式使用您的DoSomeStuff方法 –

DoSomeStuff(new NewSubType());

如果您将DoSomeStuff的参数声明为Sub,那么您也必须更改其实现 –

DoSomeStuff(NewSubType s) {

s.someMethod();

}

它也可能连锁/泡沫到其他几个地方。

在收集示例方面,这样可以让变更指向的列表实现更为简单。您可以轻松地使用LinkedList代替ArrayList

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/77361
推荐阅读
相关标签
  

闽ICP备14008679号