PMD将举报以下违规行为:
ArrayList<Object> list = new ArrayList<Object>();
违规行为是“避免使用“ArrayList”等实现类型;而是使用接口(interface)”。
以下行将纠正违规行为:
List<Object> list = new ArrayList<Object>();
为什么要使用后者配合List
而不是ArrayList
?
最佳答案
在具体类型上使用接口(interface)是良好封装和松散耦合代码的关键。
在编写您自己的 API 时遵循这种做法甚至是一个好主意。如果这样做,您稍后会发现向代码添加单元测试(使用模拟技术)以及在将来需要时更改底层实现会更容易。
这是一个good article就这个主题而言。
希望对你有帮助!
关于java - 为什么应该首选 Java 类的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58393956/