接口和抽象类的用法区别