You get a missing method body or declare abstract message when the compiler sees a method header, but the compiler can't find the method's body. Look at the end of the method's header. If you ended the header with a semicolon, then try removing the semicolon.
If the header doesn't end with a semicolon, then check the code immediately following the header. The code immediately following the header should start with an open curly brace (the beginning of a method body). If some code comes between the header and the body's open curly brace, consider moving that code somewhere else.
You are trying to redefine a method in a subclass, but have changed what type of value that method will return. Since an object which has a reference of superclass type expects the return value specified in the public interface of the superclass, any other return type is not permitted. To correct the error, adjust the return values of the method declarations so that they correspond .