确实会报错,如果你的类不是abstract的,则编译时报错,会提示你没有覆盖抽象方法,自己试着写一下就知道了。
当用抽象类来实现接口时,不是一定要重写接口中的抽象方法的,但是能够实际创建对象,即有构建函数的类必须覆写抽象方法。
只有当函数的修饰符,返回值声明,函数名,参数类型及其顺序完全一样时,两个函数才被认为是“一致”的。否则就是函数重载——两个是函数名一致,但是不一样的函数,各是各。
在多实现时,如果被实现的两个接口各有一个同名的抽象方法,并且这两个方法如果“完全一致”, 那么实现这两个接口的类只需要覆写一个抽象方法,因为是同一个。
而如果这两个抽象方法返回值声明不一致,那么必须两个都要覆写,因为这两个抽象方法是不一样的。 |