2013-09-03 5 views
-7
import java.io*; 
import java.awt.*; 
import java.util.concurrent.*; 

public class StudentQueue<E> extends ArrayBlockingQueue<E> 
{ 
    public StudentQueue(int capacity) 
    { 
     super(capacity); 
    } 
} 

Comment remplacer les méthodes de la classe parent correspondante? J'ai besoin de surcharger les méthodes dans la bibliothèque java ArrayBlockingQueue. Comment puis-je implémenter ma propre méthode et la remplacer par une méthode dans la classe parente?Comment remplacer la méthode d'une classe parente?

Tout exemple fera, ne doit pas être ArrayBlockingQueue. S'il te plaît et merci.

+0

La documentation couvre le remplacement de classe/méthode, pourquoi ne pas commencer par là? – str

+3

Vous n'avez donné aucune indication de ce que vous avez déjà essayé. Chaque texte d'introduction sur Java donnera une indication sur la façon de remplacer les méthodes. Veuillez indiquer un * problème spécifique *. –

+2

Avez-vous [regardé le tutoriel?] (Http://docs.oracle.com/javase/tutorial/java/IandI/override.html) –

Répondre

1

Si votre méthode porte le même nom que le parent, les paramètres et le type de retour, vous le remplacez. Vous pouvez également ajouter une annotation @Override au-dessus de votre méthode.

Toujours vérifier que la méthode parente n'est ni définitive ni privée.

Par exemple

public class Parent{ 
    public void method(String param){ 
    //Do stuff 
    } 

    private void notExtendable(String param){ 

    } 

    protected void alsoExtendable(String param){ 

    } 
} 

public class SubClass extends Parent{ 
    @Override 
    public void method(String param){ 
    //super.method() //if you want to execute parent's method 
    //Do your own stuff 
    } 
} 

Vous avez toutes les informations dont vous avez besoin ici: http://docs.oracle.com/javase/tutorial/java/IandI/override.html

0

On dirait que vous avez fait exactement cela ... il suffit de mettre votre code ci-dessous super(capacity),

1

Disons que la classe A hérite de la classe B. Pour qu'une méthode dans A remplace l'une des méthodes de B, créez simplement une méthode avec la même signature. C'est-à-dire, faites une méthode avec le même type de retour, et le même nombre et le même type de paramètres.

C'est en fait une chose très courante à faire. Par exemple, toutes les classes doivent remplacer les méthodes boolean equals(Object o) et String toString() de la classe Object (dont toutes les classes héritent).

Questions connexes