抱歉我不能详细地讲,我只能和你随便聊聊。
首先所有的编程过程都是设计活动,所有的概念都是为了解决设计上的某些问题。
在这些问题中,编程中的接口就像是现实生活中的标准、规则、制度,所以接口的作用就是用来规避类似现实生活中能力低下但是依靠家庭背景的人获得了自己不能胜任的位置这种现象,当我们想用某种规则去限制某些Java类的职责的时候,那么我们就使用接口,我之前对它的解释就是使用原则。
儿子从父亲那里继承了财产,那么儿子就是在没有进行任何具有创造价值的活动却收获了有价值的东西,同理,Java中的继承就是用来复用以前已经写过的代码。(当然,这里其实牵涉了一些比较复杂的设计问题)
抽象是指对于一个过程或者一件制品的某些细节有目的的隐藏,以便把其他方面、细节或者结构表达得更加清楚。抽象的反义词是具体,那么顾名思义,抽象类就是描述了某些特征,但是却延迟了设计的Java类。
这三者的使用方法和使用场景,依托设计师面对具体场景时候,像搭乐高积木一样去解决对应的问题,只要符合以上的使用原则,而非仅是因为在Java语法中可以实现,那么就不会有大的偏差。 以上是我的浅见。