This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Interface benefit Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Interface benefit" Watch "Interface benefit" New topic
Author

Interface benefit

Dan Bromberg
Ranch Hand

Joined: Oct 18, 2005
Posts: 51
Though I understand the mechanics of using an interface, I'm not fully appreciating its usefulness. I realize they're very important, but why? After all, I'm the one who has to provide all the code to perform the function I require, so how is it benefiting me?

Thanks,
Dan


Thanks in advance to all who reply,
Dan
pete stein
Bartender

Joined: Feb 23, 2007
Posts: 1561
Originally posted by Dan Bromberg:
Though I understand the mechanics of using an interface, I'm not fully appreciating its usefulness. I realize they're very important, but why? After all, I'm the one who has to provide all the code to perform the function I require, so how is it benefiting me?

Thanks,
Dan


Even though you have to create the code for the interface implementation methods to work, the code calling your object doesn't have to know how it works, doesn't have to know even what class it is working on, just that the object implements that interface, and that it will work as expected. This is tremendously liberating. Have a look at an article on one of the software design patterns such as the observer pattern (you use this for instance anytime you code using Swing) and you'll see the power and beauty if this idea.
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 11150
    
  16

I'd look at it from a different angle. Interfaces come in handy when you are working with other poeple, teams, or even companies. I write an interface. I write my code to take objects that implement that interface. I then go to the person/team/vendor and say "make your object implement this interface".

When they do, they can then send me objects that i've never dreamed existed, and my code works.

a year from now, when we decide to go with a new vendor, I can sit on the beach drinking Mai-tais after handing them my interface. THEY implement it, and I get a nice tan. When they're done, I know my code already works, so life is GOOD!!!


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
joko mujoko
Greenhorn

Joined: Dec 28, 2006
Posts: 8
interface force anybody who implement it to overide the method. And also there is common also to define static final Object in the interface. It make the program to be as modular as possible by use Interface.
umamahesh javvadi
Greenhorn

Joined: Apr 22, 2007
Posts: 7
There are a number of situations in software engineering when IT IS IMPORTANT FOR DISPARATE GROUPS OF PROGRAMMERS TO AGREE TO A "CONTRACT" that spells out how their software interacts. Each group should be able to write their code without any knowledge of how the other group's code is written. Generally speaking, INTERFACES ARE SUCH CONTRACTS.

for clear understanding of interfaces go to sun website:
http://java.sun.com/docs/books/tutorial/java/IandI/createinterface.html
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
See This Other Thread with similar questions.


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
 
jQuery in Action, 2nd edition
 
subject: Interface benefit
 
Similar Threads
Comments in public interface
NX Contractor - Sun interface no javadoc comments?
JUnit Classes quesition?
use interface or class for declaring constants?
Methods in Interface