abstract class Base {
void fuck();
void shit() {
print('sfjkl');
}
}
class ExtClass extends Base {
@override
void fuck() {
// 只需要实现父类中没有定义的方法
}
}
class ImpClass implements Base {
@override
void fuck() {
// 把Base当接口时必须实现里面所有的方法和属性
}
@override
void shit() {
// 这个在Base里是已经实现了的,但是由于这里将Base当成接口,所以仍然需要实现,否则继承和实现就可以说完全没有区别了;
}
}
还有就是implements里不能有super【即不能调用基类的构造方法】,而extends则一定会调用基类的构造方法(可能是隐式调用默认构造方法)