I'm a beginner studying interfaces in Java through some quizzes and I came through this question:
What are Java Interface used for?
I can opt among one of the following three choices:
A. They're used to describe the API of various classes.
B. They're used to avoid having to specify the contract for methods.
C. They're used to let real and apparent types differ. You can obtain this difference only by using interfaces.
I think the right answer is Choice A. Choice B doesn't make sense to me, since Interfaces usually describe methods along with their contract. Choice C doesn't make sense either, but I might be wrong.
Which one is the right answer? Thank you!