+ 3
@Override means it will change a class/object method with the same method name
No its not really necessary with newer Java versions, the compiler would know and the bytecode will translate appropriately i assume, but back then it was necessary, so be cautious on the platform and if an error is thrown, just use it ;)