I'm either highly confused, or the answer key for Assessment question 3 is incorrect. It says that the answers are C, D, E.
I understand that 'C' is a correct answer, since there is an invalid override (more restrictive access modifier in the class is defined).
Answer 'D' does not seem to be a correct answer. The explanation says "Next, the class Cougar implements an overloaded version of getTailLength(), but since the declaration in the parent class Puma is invalid, it needs to implement a public version of the method. Since it does not, the declaration of Puma is invalid, so option D is correct." However, class Cougar does implement a public version of getTailLength().
'E' seems to be a correct answer, however the answer section says "Option E is incorrect, since Puma is marked abstract and cannot be instantiated." Shouldn't it say "Option E is correct"?
So I believe that C,E are correct answers, but D is not.