michael ngangom wrote:What is the difference between the following two?
List l=new ArrayList();
and
ArrayList al=new ArrayList();
??
in case of List l = new ArrayList(); the reference variable l is of type List which is an interface whereas in ArrayList al = new ArrayList(); al is of type ArrayList which is a class. well that was obvious you could say. it is said that it is a good practice to code in terms of interfaces. why ? suppose you have a method which takes list argument as follows :
method2(List list){} now this method can take any type of List. it can take ArrayList. suppose later you changed your implementation and supplied LinkedList , it will work. this flexibility does not come with the second option .