Why Re-implements interface?

In Java API, we see such code:
public class ArrayList
extends AbstractList
implements List, RandomAccess, Cloneable, Serializable
My question is, why Sub-class(ArrayList) still declare to re-implement the same inteface(List), since Super-class(AbstractList) already implements it(List)?

sateesh12345 wrote:
If any software programmer write the program to understand anyone. A software engineer makes the problem is simple. By writing the interfaces we can easily understand the what the program, and what the main functionality is in the interface.
I have given a sce::
I we have use the different types printers drives for the windows operating system. In the operating system widows os programmers are written the number of interfaces for the different types of print drivers. when ever we want use the hp printer drivers we can install the hp printer drivers in the os.
In os already hp intrerface is there. That purpose is mainly use the intrerfaces.
what ?!?+_                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Similar Messages

  • Why to use Interface if methods are not implemented??

    Hello,
    I am having a problem to clearify as, why to use the interfaces which defines only methods and no implementation??
    When a class implements an interface the methods are implemented by the class itself, don't you think that the same functionality can be achieved if the class defined the method itself...
    The why to use interfaces, just that the same method name can be used by many classes or some other reasons..

    did you google on that? There is lots of information I am sure explaining why you code to an interface defined type rather than a class defined type.
    However, fundamentally you are correct, classes define their own type. The idea is that you use an interface because it allows you to have more than one implementation. Plus you can more easily change the structure of your program if you later wish if you did not use the class type directly.
    You get better answers if you ask in the Patterns forum below.

  • Why not use interfaces for constants?

    Hi,
    I have been getting conflicting views about why not use interfaces for constants?
    Can anyone shed some light on it?
    Piyush

    How so?
    If the constants are only used in a single classhow
    does it help to put them in a separate structute?
    (Ignoring the a type safe enumeration of course.)Well, mainly for readability. Suppose that you have a
    web application which has a servlet class
    "RedirectServlet", which takes a variable to redirect
    to a given JSP file. In the JSP files, you want to
    create forms which take this servlet as their action.
    You could of course put all these "redirect"
    constants in the RedirectServlet itself, but then
    it's kind of weird that you have to import a
    servlet in your jsp file to include these constants
    and to be able to write
    <form action="servlet/RedirectServlet?key=<%=
    RedirectServlet.HOMEPAGE %>> or so.
    Instead, you could create an interface called
    "RedirectConstants", and then your servlet
    RedirectServlet could implement this interface. Then
    your JSP can also access these constants via this
    interface.
    But then again, this is merely a matter of style, I
    fully agree that there is never a real _need_ to put
    constants in a separate structure if they're only used
    in a single class.Are you claiming that your example above is a single class?

  • Why resultset is interface

    Hi all,
    In JDBC, statement, Resultset, CallableStatement, PreparedStatement interfaces there.
    My question is, why they are interfaces but not classes.
    If anybody knows, pl. answer to my question.
    Thanx and regrads,
    srinivas

    They are interfaces because they need to be implemented differently (possibly) by each creator of a JDBC driver. The class that does the work for a PreparedStatement in the Sun ODBC-JDBC driver is not the same one that does the work for a PreparedStatement for the Oracle thin client driver.

  • Why all are interfaces in JDBC

    why all are interfaces in JDBC
    If anybody knows the answer tell me plz

    Because of encapsulation of major database functionality, such as running queries, processing results, and determining configuration information.
    JDBC interfaces is like a plug, where u can plug in any database to your application by adding there respective JDBC Driver.
    The JDBC Driver is a set of classes that implement the JDBC interfaces to process JDBC calls and return result sets to a Java application. Thats the magic of encapsulation, we just have to program to the interface rather than the implementation. The implementation might change regularly keeping the interface unchanged and hence our application.
    The one of the suggestion of design patterns, is , program to an inteface and not to an implementation.

  • Public class implements interface

    I am taking my first crack at interfaces: I have superclass A which is a parent of class B, which implements interface C. I need to use class B to make 3 variable instances within class A. I think I will use interface C to make calculations based on the 3 variables. Where do you recommend that I declare and set values for the 3 variables if I need to output the values at the top, in superclass A?
    I'm just a little unclear on pulling these objcts together... thanks in advance.

    I am taking my first crack at interfaces: I have
    superclass A which is a parent of class B, which
    implements interface C. I need to use class B to make
    3 variable instances within class A. I think I will
    use interface C to make calculations based on the 3
    variables. Where do you recommend that I declare and
    set values for the 3 variables if I need to output the
    values at the top, in superclass A?
    I'm just a little unclear on pulling these objcts
    together... thanks in advance. If your variables are going to be used by your superclass A then they had better be declared there. You can work with them whereever you want.
    I'm not sure what you are saying about "...use interface C to make calculations based on the 3 variables." You can't do calculations inside an interface. Furthermore, if B extends A and implements C then A and C are going to be completely separate entities. Any reference to C, even if it is actually an object of type B, will not be able to use anything in A--unless you cast it to B, in which case there is no use in making an interface at all.
    I probably just confused you, but oh well...
    Jeff

  • Implementing interface views

    I have to add a main view to the portfolio items and integrate  the view WI_DMS of the web dynpro component DMS_DPR to the same. When I try to do it, it says  'WI_DMS does not implement a valid interface". Is there any way to implement the valid interface dynamically? PLease help.

    >i have been using ( implementing ) interfaces in the components, for example i used iwd_value_help. however i still have no clarity how WD framework is able to communicate with the component implementing interface iwd_value_help.
    Web Dynpro can create a component usage based upon the interface type alone.  This is very similar to normal ABAP OO when you create/get an instance of a class but only know the interface.  Basically this is polymorphism at the component level.
    >the basic question here is, what is wd framework, is it class implementing interfaces generated when we create views and other stuff. and this class( WD fw ) is going to call these implemented methods of the interface??
    Simple answer: yes, exactly as you describe.  Everything relates back to generated and local classes.  The framework can interact with them becuase all the generated classes implement SAP provide framework interfaces.

  • Perspective for Java technologies : implementing interface on late.

    In Java, to implements the adapter pattern's; we have to create a new class that have a link with the adaptee class and implements the adapter interface.
    class MyAdapter implements IAdapter
          public MyAdapter( Adaptee a );
    }or, if we need protected methods :
    class MyAdapter extends implements IAdapter
         public MyAdapter( Adaptee a );
    }then, to call the method void foo( IAdapter i ); ;
    we have to do xxx.foo( new MyAdapter( adaptee ) );it could be simpler if java allowed to implement interfaces after defining the java class.
    public class Adaptee
    }and then, in another file, something like,
    implementation of  IAdapter for class Adaptee
    }would be equivalent to
    public class Adaptee implements IAdapter
    }The advantage of the first method is that you can adapt very easy external classes from external jar file.
    thank's for coments.

    An interface is a contract which tells the compiler
    that a class that implements it implements a set of
    method signature which perform certain actions.That's right, but my idea is not to change the interface, but to change the external class, making it implements the existing interface.
    If you overlay an interface on someone else's class,
    the signature match (if there is one) could happen by
    coincidence. There's no guarantee that a method with
    a signature that matches one in your interface
    actually has the same function.I didn't say that an external class should be viewed as an interface without a specific implementation of this interface for the external class. But, instead of making a new class extending the first and implementing the interface, just define a specific implementation of the interface for this class, as if it was make at class declaration.

  • Why the "hme0" interface is missing?

    Hallo! I'm working on a Sun Blade 150 (Solaris 8 4/01). I did a "ifconfig -a" and only see the "lo0" loppback interface and the "eri0" interface.
    Why the "hme0" interface is missing?
    Edited by: Wolfgang073 on Jan 17, 2010 9:11 AM

    Wolfgang073 wrote:
    Hallo! I'm working on a Sun Blade 150 (Solaris 8 4/01). I did a "ifconfig -a" and only see the "lo0" loppback interface and the "eri0" interface.
    Why the "hme0" interface is missing?
    Edited by: Wolfgang073 on Jan 17, 2010 9:11 AM... because for Solaris-ethernet-on-SPARC, the interface name is specific to the chipset that is used for the function.
    Your SB150 uses an "ethernet RIO interface" (ERI) on a discrete chipset and does not use hardware for what has often been named "highspeed-media-ethernet" (HME).
    The hardware is different, thus the acronym is different.
    Others may choose to offer a better description.

  • Implementation interface

    Hi guys. I have a test on array and inheritance and polymorphism. I didn't quite understand what is the benefit of implementing interfaces.
    Something like this:
    public class static Child extends Parent implement A,B,C
    Where A,B,C are interfaces.
    I need to get this straigth before the final test tomorrow. Thanks a lot.

    By implementing an interface, a class declares what it does. This means that the compiler and other classes can determine whether that class is suitable for some operations.
    So given your example Child which implements interfaces A, B, and C, there could be another class with method:
    public boolean doSomething(A aclass) {
    }This method can be given an instance of your "Child" class, or a different class which also implements the A interface.
    Interfaces say what a class does, as opposed to how it does it.

  • No implementation interfaces created using jaxb 2.0 ?

    Hi,
    I've downloaded the jaxb 2.0 RI and am trying to follow the short tutorial at http://java.sun.com/developer/technicalArticles/WebServices/jaxb/index.html.
    On trying to bind the schema via xsj,sh, which also is meant to generate the implementation interfaces (in an impl directory), I see these aren't created - the other classes are generated OK. Where or how should they be created ?
    thanks

    I am on the same boat. Have you found the answer to this?
    Thanks,
    Juan

  • Implements interface method at the derived class

    Hi all.
    I have a class (Derived) that extends another class (Base).
    In the base class (Base) there is a method f() with its implementation.
    In the interface (C) there is also f() method exactlly like in the base class (Base).
    The derived class (Derived) is implements the interface (C).
    My question is:
    Do i have to implement the method f() in the derived class (Derived) ?

    My guess is that you probably have to, even if it's just to call the parent's method.
    This all sounds pretty sketchy. Why don't you just make the BASE class implement your interface?

  • Why use an interface?

    Hey everybody,
    I posted a message in another thread about why to use an abstract class. I have another question and again I am not asking how but why and when. But this time about interfaces. Why would I need to write one? Any example that is not too technical would be great!
    I have read a lot about interfaces but mostly it explains how to write one and not when and why to use them.
    Thanks in advance for your help!

    807479 wrote:
    So my question is basically how does implementing an interface help if there is no code in any of the methods?Because it says to anyone who wants to know "this class fulfills the contract for <tt>x</tt>", where <tt>x</tt> is the behaviour (methods) associated with the interface.
    Furthermore, in the same way that the language allows you to use a superclass as a type, it also allows you to use interfaces as types.
    I presume you're aware that an object can be passed to any method that takes its superclass; well, it can also be passed to any method that takes an interface that it implements.
    <tt>String</tt>, for example, implements <tt>Comparable</tt> (a good real-world interface to get familiar with, BTW), so a <tt>String</tt> object can be passed to either of the following methods:public String append(String s)...
    public int compareWith(Comparable c)...Now, how does that help you? Suppose you write a program that uses a <tt>List</tt>. A common beginner's mistake is to type everything to the nth degree, viz:ArrayList<String> myList = new ArrayList<String>();and then write methods in the same way:public void addSomeStrings(ArrayList<String> list,
       String... items) {.....but, while it will work, it's quite brittle.
    Suppose you decide later on that an <tt>ArrayList</tt> isn't the best way to store your Strings ... what do you do? You have to refactor every bit of code that took an <tt>ArrayList</tt> to now take a new type of List (eg, a <tt>LinkedList</tt>).
    Suppose instead that you wrote your program as follows:List<String> myList = new ArrayList<String>();and then your methods (hopefully ALL of them) as:public void addSomeStrings(List<String> list,
       String... items) {..... Now to change the program to use a <tt>LinkedList</tt>, the ONLY thing you have to change is:List<String> myList = new LinkedList<String>();and your program will work just fine.
    This is what a lot of the posts that talk about "programming to interfaces" are on about. It's a very good technique to get familiar with.
    HIH
    Winston

  • Why iterator is interface

    hi,
    why iterator is an interface and not a class.
    Thanks,

    Iterator is set up as an interface so that you may define iterators of your own for your own classes. Let's assume you create some class MyClass. If this class does not directly extend a class that has a method to return an iterator you would need to define one yourself. So you could create a class MyClassIterator that implements Iterator. Then in MyClass you can add a method as follows:
    public class MyClassIterator implements Iterator
    MyClass obj = null;
    public MyClassIterator(MyClass obj) { this.obj = obj; }
    public boolean hasNext() {...}
    public Object next() { ... }
    public void remove() { ... }
    public MyClass
    public Iterator iterator()
    return new MyClassIterator(this);
    }

  • Why we use interfaces ?

    hi all!
    i m confused that what is the advantage of using interfaces for classes if it is for security,data hiding pupose then we can use private modifiers,then y is this think built in java and which r the cases in which we must use interfaces and y?
    plz give me any simple example to understand ur point
    thanx in advance.
    sajjad ahmad

    Hmm... First, I'm sorry about my English... but i will try.
    In C++ we can use multi-inheritance that let the developer "extends" one or more classes.
    eg.
    class Hello extends A,B,C,D
    This case can be happened in C++.
    But If both class A and B have a method call "void sayMyName()"
    How can we refer which method was called when we call "Hello.sayMyName()"
    A.sayMyName() or B.sayMyName()
    So java don't allow this thing happen.
    Java allow developers to extend "only one class"
    but to enable multi-inheritance ability Java allow developer to implement more than one class.
    That is "interface" which was implemented.
    Now lets talk about it's benefits.
    Interface is not for security or data hiding purpose.
    But interface is used for "make a template".
    When I created one class called Hello.
    But I have created another class too.
    Now I want to make sure that my classed have a method "void say()"
    What can I do ?
    1. Make some class that have a method "void say()" and let my classes extend it.
    2. Make an interface and implement it.
    Choise number one is quite good ... but !!!
    If I have to extend some another class that is more important such as "Applet"
    Now I can't extend another class.
    I need only method "void say()". But I don't care what it does.
    So I make an interface that force the implementing class to create a method "void say()"
    and I implement it.
    Question: Why I have to implement this interface ? If I only define a method "void say()"
    The problems is gone ....
    Answer: That may be true if I want them to have a method. But how can I refer to them.
    Lets see this code.
    class A extends Applet {
    void say() {System.out.println("My name is A");}
    ... go on ...
    class B extends Applet {
    void say() {System.out.println("My name is B")}
    ... go on ...
    class GO {
    public void letMeSay(............. o) {
    o.say();
    What can I fill in the argument of method "letMeSay()"?
    Object ? Object doesn't have a method "void say()"
    Applet ? With the same reason.
    Now lets see another code.
    interface Sayable {
    abstract void say();
    class A extends Applet implements Sayable {
    void say() {System.out.println("My name is A");}
    ... go on ...
    class B extends Applet implements Sayable {
    void say() {System.out.println("My name is B")}
    ... go on ...
    public void letMeSay(Sayable o) {
    o.say();
    It's ok right ... I can refer to interface "Sayable" that can "say"
    Next benefit of interface ... "define Constants field"
    We can define constants in an interface and implements it to everywhere we want to use those constants. When we change a value in this interface ... Constants in another place will be changed too .... that is very useful ....(But this may have change in J2SE 1.5 ... see more info)
    "I HOPE THIS REPLY MAY GIVE YOU SOME KNOWLEDGE ... GOOD LUCK WITH PROGRAMMING"

Maybe you are looking for