面试题答案
一键面试- 使用默认方法:
- 在Java 8及以后,可以为接口添加默认方法。例如:
public interface MyInterface { void oldMethod(); default void newMethod() { // 提供默认实现 System.out.println("This is the default implementation of newMethod."); } }
- 这样,实现该接口的现有类无需修改代码,因为它们会继承这个默认实现。
- 添加静态方法:
- 也可以在接口中添加静态方法,这同样不会影响实现该接口的类。例如:
public interface MyInterface { void oldMethod(); static void newStaticMethod() { System.out.println("This is a new static method."); } }
- 调用时通过接口名调用,如
MyInterface.newStaticMethod();
,不会影响已实现该接口的类。
- 版本控制与兼容性策略:
- 语义化版本号:在项目中使用语义化版本号(如
MAJOR.MINOR.PATCH
)。当添加不破坏兼容性的新方法时,增加MINOR
版本号;如果添加的新方法会破坏兼容性,则增加MAJOR
版本号,并提供清晰的升级文档,告知使用者如何修改依赖代码。 - 兼容性分支:在代码仓库中维护兼容性分支,例如,一个分支用于兼容旧版本依赖,另一个分支用于新特性开发。这样可以在不影响现有依赖的情况下进行新功能的开发。
- 语义化版本号:在项目中使用语义化版本号(如