J'ai cherché à appeler une variable sans créer d'instance d'objet sur StackOverflow et j'ai trouvé que la réponse était utilisez le mot-clé static
pour déclarer la variable et vous pourrez appeler cette variable classe étendue sans créer d'instance de cette classe mais cela n'a pas fonctionné pour moi. Voici ce que j'ai essayé -Appeler une variable sans créer d'instance d'objet
abstract public class Flower{
private static int petals;
public void setPetals(int petals){
this.petals;
}
}
J'appelle la méthode setPetals
d'une autre classe. J'ai joint comme capture d'écran cette classe. Comment puis-je appeler cette variable pétales dans la classe LotusFlower?
Il est 'private'. – user2357112
Votre 'setPetal()' n'est pas 'static', et vous appelez ceci, n'accédant pas à votre variable' static' 'pétals' ... Alors ajoutez' static' à la méthode, aussi ... –
Je suppose que vous avez votre de bonnes raisons de le faire, mais cela ne me semble pas un bon exemple. Si vous avez plusieurs sous-classes de 'Flower', et que chacune d'entre elles définit une valeur statique, la valeur preivous sera remplacée. –