2009-12-28 7 views
0

Je:devoirs: comment appeler une méthode java

/* 
* File: NameSurferEntry.java 
* -------------------------- 
* This class represents a single entry in the database. Each 
* NameSurferEntry contains a name and a list giving the popularity 
* of that name for each decade stretching back to 1900. 
*/ 

import acm.util.*; 
import java.util.*; 

public class NameSurferEntry implements NameSurferConstants { 

/* Constructor: NameSurferEntry(line) */ 
/** 
* Creates a new NameSurferEntry from a data line as it appears 
* in the data file. Each line begins with the name, which is 
* followed by integers giving the rank of that name for each 
* decade. 
*/ 
    public NameSurferEntry(String line) { 
     findName(line); 
     findDecades(line); 
    } 
... 

en tant que classe.

Comment j'appellerais la méthode NameSurferEntry à partir d'une autre classe.

+0

Eh bien, merci de marquer la question de façon appropriée, mais la prochaine fois, utilisez un titre plus descriptif;) – mpen

+0

Et en outre, vous allez vouloir que la classe appelante soit dans le même dossier que votre classe NameSurferEntry. – Roman

Répondre

1

NameSurferEntry est le constructeur de cette classe, ce qui signifie qu'il sera appelé à chaque fois que vous créez une nouvelle instance de NameSurferEntry avec le nouvel opérateur . Il n'y a pas d'autre moyen d'appeler cette méthode.

2

Cette méthode est un constructeur - elle est appelée lorsque vous créez un objet NameSurferEntry et que vous lui transmettez un String. Vous appelleriez comme ceci:

NameSurferEntry entry = new NameSurferEntry("some string"); 

Vous pouvez dire que c'est un constructeur parce que le type de retour est le même que le nom de la classe, et il n'y a pas de nom de la méthode. Il est seulement appelable lorsque vous créez un nouveau NameSurferEntry.

0

C'est un constructeur. Vous appelleriez sous la forme suivante:

NameSurferEntry newEntry = new NameSurferEntry("string goes here."); 
1

NameSurferEntry est le constructeur de la classe, de sorte que vous feriez quelque chose comme:

NameSurferEntry myObject = new NameSurferEntry("value"); 
3

NameSurferEntry est un constructeur, pas une méthode. La création d'un constructeur non-par défaut masquera le constructeur vide par défaut. Donc

// asume line to be a string containing a line 
NameSurferEntry entry = new NameSurferEntry(line); 

sera le seul moyen de créer des objets NameSurferEntry.

0

Excuses pour avant. J'ai vu un vide fantôme dans le constructeur. comme tout le monde l'a souligné, il devrait être

NameSurferEntry nsf = new NameSurferEntry(line); 
0

Il est également possible d'appeler un constructeur à partir d'un autre constructeur. Voir aussi cette réponse: How do I call one constructor from another in Java?

Et, si vous sous-classe de votre classe, vous pouvez l'appeler du constructeur dans la sous-classe via un appel à super().

Questions connexes