Java-incrémentation d'un compteur qui est une variable de classe
J'ai une question où il est dit:
Le véhicule de classe a 4 attributs à savoir noOfTyres, accessoires, marque et compteur qui sont de type entier, Booléen, Chaîne et entier respectivement. Compteur est une variable de classe. Le constructeur de la classe initialise les 3 variables et incrémente le compteur d'un.
J'ai pensé à deux approches pour cette partie et je ne sais pas laquelle est correcte ou si les deux l'est.
Le premier est:
public class Vehicle{
private int noOfTyres;
private Boolean accesories;
private String brand;
private int static counter=0;
private int counterNum;
public Vehicle(int noOfTyres, int accessories, int brand){
counter++;
this.noOfTyres= noOfTyres;
this.accessories= accessories;
this.brand= brand;
counterNum= counter;}
}
Le second est:
public class Vehicle{
private int noOfTyres;
private Boolean accesories;
private String brand;
private int counter=0;
public Vehicle(int noOfTyres, int accessories, int brand){
counter++;
this.counter= counter;
this.noOfTyres= noOfTyres;
this.accessories= accessories;
this.brand= brand;
}
}
Quelle approche(si l'une d'entre elles est bonne) convient en fonction du type/de la quantité d'informations fournies par la question?
1 answers
Pour faire de quelque chose une variable de classe plutôt qu'une variable d'instance, nous devons le faire static
.
En savoir plus sur les variables static
et en quoi elles sont différentes des variables régulières ici: https://en.wikipedia.org/wiki/Static_variable
TLDR: votre première solution est correcte, bien que je pense qu'elle devrait lire
private static int counter = 0;