不同点
抽象类可以有不抽象的方法,即某个方法有默认的实现,而接口不可以.
使用抽象类使用extends关键字集成,而接口使用implement关键字来实现.
抽象类可以有构造器,接口不可以....抽象类里的方法可以使用public,protected,default等修饰符,接口的只可以是public.
抽象类可以有main方法,接口不可以....继承抽象类的类必须实现所有抽象方法,否则自身也是抽象类,接口的实现类必须实现所有抽象方法.
设计思想方面
上面语法方面的知识重要吗?重要,不了解的话你无法使用它们....细想一下,门是一个实体,门的抽象类里面应该有报警功能吗?...(alarmable是我自己写的,我不知道有没有这个单词,大家懂就好).
定义了一个门的抽象类,所有的门都必须有这两个方法.(不能开关的叫什么门啊!)