不同点
抽象类可以有不抽象的方法,即某个方法有默认的实现,而接口不可以.
使用抽象类使用extends关键字集成,而接口使用implement关键字来实现.
抽象类可以有构造器,接口不可以....继承抽象类的类必须实现所有抽象方法,否则自身也是抽象类,接口的实现类必须实现所有抽象方法.
设计思想方面
上面语法方面的知识重要吗?重要,不了解的话你无法使用它们....,同时定义了一个可报警的接口,当我们需要一个防盗门的时候,只需要继承AbstractDoor,同时实现Alarmable的接口,这样就拥有了这三个方法....面试中如何回答我不敢给出正确答案,但是我认为,代码是写给人看的,所以你需要正确的设计以及正确的命名,来让代码的阅读者一看便懂,而不是深陷与语法,毕竟语法可以被创造.否则,我们需要抽象类和接口的区别干什么...在java8之后,我们可以为接口提供默认实现的方法并且不用强制子类来实现它.有兴趣的胖友可以移步这里查看一哈.Java8 接口的静态方法和默认方法.
完。