抽象类与接口的区别和选择
抽象类可以包含具体方法和状态,适用于类之间有共同父类的场景;接口只定义规范,没有实现。接口支持多继承,而抽象类不支持。选择时应根据设计需求决定,若需要共享代码则用抽象类,需要实现多重契约则用接口。