1、都有抽象方法和已经实现的方法,子类重载其非抽象成员都必须加上override关键字,子类重载其抽象成员时override关键字可选;
2、优先使用特质,一个类扩展多个特质是很方便的,但却只能扩展一个抽象类;
3、如果需要构造方法参数,使用抽象类,因为抽象类可以定义带参数的构造方法,而特质不行;
1、都有抽象方法和已经实现的方法,子类重载其非抽象成员都必须加上override关键字,子类重载其抽象成员时override关键字可选;
2、优先使用特质,一个类扩展多个特质是很方便的,但却只能扩展一个抽象类;
3、如果需要构造方法参数,使用抽象类,因为抽象类可以定义带参数的构造方法,而特质不行;