Éviter l'erreur « Impossible de créer une référence statique à un champ non statique »
Dans la programmation Java, le « Impossible de créer une référence statique à un champ non statique » L'erreur "référence à un champ non statique" se produit lorsque vous essayez d'accéder à un champ non statique (également appelé variable d'instance) dans une méthode statique.
Dans le code fourni, l'erreur se produit car la méthode principale est déclaré comme statique, ce qui signifie qu'il ne peut faire référence qu'aux membres statiques de la classe, y compris les méthodes et les champs statiques. Cependant, les champs balance et annualInterestRate ne sont pas statiques, ce qui signifie qu'ils sont uniques à chaque instance de la classe Account.
Pour résoudre cette erreur, il est nécessaire de modifier le code pour suivre la syntaxe Java appropriée :
> Supprimer les références statiques aux champs non statiques :
> Créer des méthodes d'instance non statiques :
Code révisé pour la méthode principale :
public static void main(String[] args) {
Account account = new Account(1122, 20000, 4.5);
account.withdraw(2500);
account.deposit(3000);
System.out.println("Balance is " account.getBalance());
System.out.println("Monthly interest is " account.getAnnualInterestRate() / 12);
System.out.println("The account was created " account.getDateCreated());
}
Code révisé pour les méthodes de retrait et de dépôt :
public void withdraw(double withdrawAmount) {
balance -= withdrawAmount;
}
public void deposit(double depositAmount) {
balance = depositAmount;
}
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3