Why use I-prefix for interfaces in Java?
- by Lars Andren
Is there some reason why people use I-prefix for interfaces in Java? It seems to be a C#-convention spilling over. For C# it makes sense, as the answers to this question explains.
However, for Java a class declaration clearly states which class that is extended and which interfaces that are implemented:
public class Crow extends Animal implements Bird
I think Joshua Bloch didn't suggest this in Effective Java, and I think he usually makes a lot of sense. I get the I-verbing as presented in an answer to the question above, but is there some other use with this convention for Java?