java 面向接口编程的理解
2021-07-04 08:05
标签:数组 怎么 有序 学习 错误 编程 规范 学校 不同的 初学者可能在学习中会有很多疑惑,为什么要这样,明明可以那样实现,这样做的好处又是什么? 可能会的人觉得很简单很容易理解,甚至可能觉得问的问题很智障,但对于小白来说可能是苦思冥想都不得其解的。 自己身为初学者也深知初学者的不易,很多问题网上没有很明确的答案。 自己遇到什么问题想出来后就写下,也为了便于后来人,毕竟前人种树后人乘凉。 初看容器时,有很多疑问,为什么都用接口作为类型去实现?(List 而不直接这样写?(ArrayList 我说一下我这个初学者的理解,如有错误之处还望指出,不胜感谢! 这时就可以把A接口看做是一种要完成的A功能的规范,实现它的A1类是完成A功能的一种方法,A2类也是完成A功能的一种方法。 然后再我们需要实现A功能时,我们需要根据具体情况的不同,采用不同的方法去实现这个功能。 这个思想更符合我们日常面向对象的思想,先想需要完成什么功能,再想怎么完成这个功能(根据当前情况选择合适的方法去完成)。 例如我这里需要存储有序的数据,那我们先想如何实现这个功能,当然是List接口。 然后根据我当前的具体情况再想,List接口下那个类更适合当前情况。 是数组(ArrayList),还是链表(LinkedList)方式存储? 这需要结合这两种存放方式的优缺点和当前具体需求去决定。 举个更加通俗的例子: 假如我定义一个接口的功能是去图书馆,我再定义几个实现该接口的类, 有教学楼到去图书馆的类,有食堂去图书馆的类,还有寝室去图书馆的类。 然后我们思考时是先想做什么?去图书馆,这就确定了接口是去图书馆的接口。 然后我们再想怎么去,由于各个人的所在位置的不同,我们就需要根据当前所在位置的具体情况 去调用合适的类,我在寝室就用寝室去图书馆的类,我在食堂就调用食堂去图书馆的类。 假如学校扩大了,多了几个分校区。去图书馆这个接口我们不需要改动。 只需要添加一个实现了(去图书馆接口)的(分校区去图书馆的类)就可以了。(类实现接口) 这样一个具体的功能确定了,即使后来有新的情况需要完成这个功能,我们只需要添加新的类就可以了。 因为功能的确立基本是不变的,是具有普适性的。 接口是一个抽象的广泛的概念,更像是一种宏观上的东西。 先确定好宏观层面的东西(接口),然后再想微观上具体如何实现(实现该接口的类),后续有新的微观可以直接加入,因为这个微观也是从属于这个宏观的。 java 面向接口编程的理解 标签:数组 怎么 有序 学习 错误 编程 规范 学校 不同的 原文地址:https://www.cnblogs.com/huang-changfan/p/9613971.html
上一篇:Java开发环境的搭建