Confusion: @Override cannot be converted to Annotation in java?

Viewed 6377

I am trying to test the @Override annotation in java. First, I overload the overloadedMethod in the Overload class, with and without parameter.

public class Overload {

    //overloaded method with and without param
    public void overloadedMethod(){
        System.out.println("overloadedMethod(): No parameter");
    }

    public void overloadedMethod(String s){
        System.out.println("overloadedMethod(): String");
    }

}

Then Override is a sub-class of the Overload class. I try to override one of the overloadedMethod. The @Override annotation is added to make sure this method is correctly override.

public class Override extends Overload{

    //now I want to override
    @Override
    public void overloadedMethod(String s){
        System.out.println("overloadedMethod(): String is overrided");
    }

    /**
     *  MAIN
     *  @param args void
     */
    public static void main(String[] args){
        Override myOverride=new Override();
        //test
        myOverride.overloadedMethod();
        myOverride.overloadedMethod("Hello");
    }
}

But an error occurred: Override cannot be converted to Annotation

/Users/Wei/java/com/ciaoshen/thinkinjava/chapter7/Override.java:20: error: incompatible types: Override cannot be converted to Annotation
    @Override
     ^
1 error

Anyone can tell me what's the problem here?

3 Answers
Related