Rule Definition
Using the implementation class of a collection as the type of your instance ties your code to this specific implementation and makes it difficult to change the implementation class in the future.
For example, if you use the java.util.Collection interface, you can change your implementation class from a Set to a List or to a Queue according to your needs and performance requirements.
Remediation
Declare the type as an interface of a more appropriate collection.
Violation Code Sample
private ArrayList ko_02_08_initializer_declaration; // VIOLATION ,ArrayList is an implementation of the List interface.
Fixed Code Sample
private List ok_01_08_field_declaration = new ArrayList(); //Fixed
Reference
http://java.sun.com/docs/books/tutorial/collections/interfaces/index.html
Related Technologies
JEE
Technical Criterion
Programming Practices - OO Inheritance and Polymorphism
About CAST Appmarq
CAST Appmarq is by far the biggest repository of data about real IT systems. It's built on thousands of analyzed applications, made of 35 different technologies, by over 300 business organizations across major verticals. It provides IT Leaders with factual key analytics to let them know if their applications are on track.