is it for those with knowledge of Java(any version) or for absolute beginners in java or for anyone ? What is it inside the book that makes it special or a must read?
Threre a lot of good books out there like Java How to Program/Big Java/Head First Java etc. Read the reviews at amazon.com and pick the one that suits your level.
A is wrong because the overriding method must not throw new or broader checked exceptions.
E is wrong because you are reducing the visibility of the method.
B is correct because FileNotFoundException is the sub class of IO Exception(Narrow Exception)
C is correct because the overriding method may throw a fewer or no exceptions
D is correct because you aren't messing with the visibility of the method
F is correct for obvious reasons.
Additionally 'G' is also correct if exists. something like