Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Spring Framework | Web Services | BioInformatics | Java Server Faces | Jboss 3.0 tutorial | Hibernate 3.0 | XML
 
 
Hot Web Programming Job

 

Tutorial Categories: Ajax | Articles | JSP | Bioinformatics | Database | Free Books | Hibernate | J2EE | J2ME | Java | JavaScript | JDBC | JMS | Linux | MS Technology | PHP | RMI | Web-Services | Servlets | Struts | UML

[an error occurred while processing this directive]

Java Notes

Class or Interface

[an error occurred while processing this directive]

Declare variables as class or interface type?

A common programming philosophy is to declare variables with a type that makes the least assumptions. This allows flexibility to make changes in the underlying type if this latter becomes necessary. For example, the most obvious way to declare x is

ArrayList x = new ArrayList(); // OK

But if x only uses the methods defined in the List interface, it would be better to do the following.

List x = new ArrayList();  // More flexible

This guarantees that x doesn't use any methods that aren't in the List interface. The advantage of this is that later the underlying implementation can be changed.

List x = new LinkedList();  // Changed underlying class

Because the performance characteristics of ArrayList and LinkedList are so different, it is probably not all that likely to make such a drastic change. You can also write your own data structure or use one of many externally defined List data structures which implement the List interface.

Why change the underlying class?

The two List classes, ArrayList and LinkedList both implement the same List interface methods and can be manipulated by the methods in the Collections class, but the performance of different operations may be very different, eg, insertion in the middle of an LinkedList is more efficient, but accessing a random element is more efficient using a ArrayList. If it becomes necessary to change the underyling class for performance reasons, it is easy to do if variables are declared by their interfaces (List, Map, and Set for the Collections classes).

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

0 comments so far (
post your own) View All Comments Latest 10 Comments:
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification

Tell A Friend
Your Friend Name
Search Tutorials

 

 
 
Browse all Java Tutorials
Java JSP Struts Servlets Hibernate XML
Ajax JDBC EJB MySQL JavaScript JSF
Maven2 Tutorial JEE5 Tutorial Java Threading Tutorial Photoshop Tutorials Linux Technology
Technology Revolutions Eclipse Spring Tutorial Bioinformatics Tutorials Tools SQL
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2007. All rights reserved.