语法方面
首先,在java语言中,抽象类和接口在语法方面就是有一些区别的,总结整理如下:
相同点
都是位于较上层的抽象层.
都不能被实例化.
都可以只声明方法,不实现....不同点
抽象类可以有不抽象的方法,即某个方法有默认的实现,而接口不可以.
使用抽象类使用extends关键字集成,而接口使用implement关键字来实现.
抽象类可以有构造器,接口不可以....继承抽象类的类必须实现所有抽象方法,否则自身也是抽象类,接口的实现类必须实现所有抽象方法.
设计思想方面
上面语法方面的知识重要吗?重要,不了解的话你无法使用它们....另外,在java8中,Oracle已经开始尝试向接口中引入默认方法和静态方法,以此来减少抽象类和接口在语法上的差异。...在java8之后,我们可以为接口提供默认实现的方法并且不用强制子类来实现它.有兴趣的胖友可以移步这里查看一哈.Java8 接口的静态方法和默认方法.
完。