Du non static context au static context
bonjour,:D
J'ai toujours des difficultés avec le contexte static
J'ai rayé ce mot de mes déclarations
suite à un précédent post j'ai mis mes constantes dans un classe dédiée
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
public class Constantes
{
public final int MAX_LOOPS = 25;
public final String OPTION_SECTION_CCHUNKER = "CCHUNKER";
public final String OPTION_KEYNAME_VERB_FRENCH = "VERB_FRENCH";
public final String OPTION_KEYNAME_NOUN_FRENCH = "NOUN_FRENCH";
public final String OPTION_KEYNAME_PRESTOPPER_FRENCH = "PRESTOPPER_FRENCH";
public final String OPTION_KEYNAME_POSTSTOPPER_FRENCH = "POSTSTOPPER_FRENCH";
public final String OPTION_KEYNAME_FUNCT_FRENCH= "FUNCT_FRENCH";
public final String OPTION_KEYNAME_LEMMA_NON_STOPPER_FRENCH = "LEMMA_NON_STOPPER_FRENCH";
public final String OPTION_KEYNAME_VERB_ENGLISH = "VERB_ENGLISH";
public final String OPTION_KEYNAME_NOUN_ENGLISH = "NOUN_ENGLISH";
public final String OPTION_KEYNAME_PRESTOPPER_ENGLISH = "PRESTOPPER_ENGLISH";
public final String OPTION_KEYNAME_POSTSTOPPER_ENGLISH = "POSTSTOPPER_ENGLISH";
public final String OPTION_KEYNAME_FUNCT_ENGLISH = "FUNCT_ENGLISH";
public final String OPTION_KEYNAME_LEMMA_STOPPER_ENGLISH = "LEMMA_STOPPER_ENGLISH";
public final String OPTION_KEYNAME_VERB_SPANISH = "VERB_SPANISH";
public final String OPTION_KEYNAME_NOUN_SPANISH = "NOUN_SPANISH";
public final String OPTION_KEYNAME_PRESTOPPER_SPANISH = "PRESTOPPER_SPANISH";
public final String OPTION_KEYNAME_POSTSTOPPER_SPANISH = "POSTSTOPPER_SPANISH";
public final String OPTION_KEYNAME_FUNCT_SPANISH = "FUNCT_SPANISH";
public final String OPTION_KEYNAME_LEMMA_NON_STOPPER_SPANISH = "LEMMA_NON_STOPPER_SPANISH";
public final String OPTION_KEYNAME_VERB_ITALIAN = "VERB_ITALIAN";
public final String OPTION_KEYNAME_NOUN_ITALIAN = "NOUN_ITALIAN";
public final String OPTION_KEYNAME_PRESTOPPER_ITALIAN = "PRESTOPPER_ITALIAN";
public final String OPTION_KEYNAME_POSTSTOPPER_ITALIAN = "POSTSTOPPER_ITALIAN";
public final String OPTION_KEYNAME_FUNCT_ITALIAN = "FUNCT_ITALIAN";
public final String OPTION_KEYNAME_LEMMA_NON_STOPPER_ITALIAN = "LEMMA_NON_STOPPER_ITALIAN";
public final String OPTION_KEYNAME_VERB_GERMAN = "VERB_GERMAN";
public final String OPTION_KEYNAME_NOUN_GERMAN = "NOUN_GERMAN";
public final String OPTION_KEYNAME_PRESTOPPER_GERMAN = "PRESTOPPER_GERMAN";
public final String OPTION_KEYNAME_POSTSTOPPER_GERMAN = "POSTSTOPPER_GERMAN";
public final String OPTION_KEYNAME_FUNCT_GERMAN = "FUNCT_GERMAN";
public final String OPTION_KEYNAME_LEMMA_NON_STOPPER_GERMAN = "LEMMA_NON_STOPPER_GERMAN";
} |
mais là NetBeans n'aime pas et me dit: non-static variable OPTION_SECTION_CCHUNKER cannot be referenced from a static context
Code:
1 2
|
if(GetStringList(Constantes.OPTION_SECTION_CCHUNKER,Constantes.OPTION_KEYNAME_VERB_FRENCH, wsListPosVerb ,wsListPosVerb)!= 0){m_bOptionProblem = true;} |
est ce le fait d'appeler la constante au travers du nom de la classe qui pose le pb?
la déclaration et le status
Bonjour,
J'ai réessayé un new comme suit
Code:
Option pOption = new Option();
et le compilateur me renvoie Linguistic.Option is abstract; cannot be instantiated
à+:ccool:
et comment initialiser une telle donnée
Je comprend la limitation portée sur les classes abstraites, mais il faut éviter qu'une variable soit à null lors de l'exécution, c'est toujours désagréable.
Quels mécanismes peut on utiliser pour avoir une telle variable désignant le bon objet
J e serai toujour content d'avoir le même suppot
sur le post
Citation:
les iterateurs et la marche arrière