Ming,
Section 8.4.3 of the
java language specification requires that a compile-time error must be generated due to the illegal combination of modifiers.
A compile-time error occurs if a method declaration that contains the keyword abstract also contains any one of the keywords private, static, final, native, strictfp, or synchronized.
What compiler are you using?
After I developed the questions involving the use of strictfp I found that the real exam does not cover that modifier so the real exam won't have a question like this one.
For those that are interested, I will quote the explanation associated with the answer.
The strictfp modifier in a superclass declaration has no impact on an overriding method in a subclass. For that reason, it makes no sense to include the strictfp modifier in an abstract method declaration. By generating a compile time error, the compiler reminds the programmer of the futility of combining the abstract and strictfp modifiers. A class, however, may be both abstract and strictfp. When applied to a class, the strictfp modifier causes all float and double expressions within the class to be strictfp. This implies that all float and double expressions are strictfp in all nested classes, methods, constructors and all static, instance, and variable initializers. The declaration of an abstract method in a strictfp class is entirely legal even though the implementation of the method in a subclass need not be strictfp.