Q:

Says I must return a boolean?

@Override
public boolean equals(Object obj){
    if(obj == this){
        return true;
    }
    if(obj instanceof Circle){
        Circle circle = (Circle) obj;
        if(circle.getWidth()==getWidth())
            return true;
    }

Says I must return a boolean, but I am, I am telling the compiler to return true; ??

A:

You aren't returning something along all paths of the function.
If obj isn't this and it's not an instance of Circle, then this function doesn't return anything.
The function you probably want looks something like this:
@Override
public boolean equals(Object obj){
    if(obj == this){
        return true;
    }
    if(obj instanceof Circle){
        Circle circle = (Circle) obj;
        if(circle.getWidth()==getWidth())
            return true;
    }
    return false;
}

