说明:加I和不加I都可以,看需要,没有强制要求. 在Java中更多是提倡不加I的,可以看下JDK的源码,都是不加I的. 微软C#是规定要加I,这也是影响从而导致有这个话题的原因. Java中特定不直接使用实现类是impl后缀,父类用abstract前缀,具有实际使用直接给可读名.接口直接用可读名就行了,因为实现对象的名字可以被接口隐藏起来,没必要明确这就是接口,这就是实现类. 参考: https://docs.microsoft.com/en-us/dotnet/standard/design-…