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?

Author: Tia, 2016-05-07

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;

 4
Author: nhouser9, 2016-05-06 22:37:07