Java Constructeurs - attribuer une valeur à une variable
Est-il une différence entre l'affectation de valeurs à des variables en dehors de toute méthode, et l'attribution de ces valeurs au sein d'un constructeur?
Regardant Oracle Java tutoriel, ils ont:
public class Bicycle {
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue) {
cadence = newValue;
}
est-ce différent de dire/pourquoi ne pas simplement dire:
Bicycle(){
int cadence = 0;
}
Vouliez-vous dire de classe mondiale varoable cadence dans le constructeur?
Je voulais dire: quelle est la différence lorsque vous effectuez un nouveau Vélo à partir de la classe public de Vélos avec et sans un constructeur? Si c'est la Bicyclette créé sans un constructeur, sont ints cadence, vitesse, équipement, encore passé?
Je voulais dire: quelle est la différence lorsque vous effectuez un nouveau Vélo à partir de la classe public de Vélos avec et sans un constructeur? Si c'est la Bicyclette créé sans un constructeur, sont ints cadence, vitesse, équipement, encore passé?
OriginalL'auteur user2009020 | 2013-03-25
Vous devez vous connecter pour publier un commentaire.
Si vous déclarez la variable dans votre constructeur, à un niveau local par le constructeur et n'est pas visible de n'importe où ailleurs dans votre classe.
OriginalL'auteur Todd
Si vous déclarez une
variable
à l'intérieur d'unconstructor
, cette variable ne peut être accessibleinside this constructor
. Mais, vous pouvez créer une variable sur votreclass
, et y accéder sur votreconstructor
oumethod
.OriginalL'auteur BloodShura
Eh bien, si vous définissez une variable dans un constructeur, c'est celui du constructeur. Mais une variable dans la classe fait partie de la catégorie' état.
Mais si tu veux dire:
vs
la différence est la suivante: dans le premier cas, la valeur par défaut de
i
est 1, dans tous les cas, mais dans le second cas, la valeur par défaut dei
est 1 si le constructeur est appelé, peut-être dans d'autres constructeurs par défaut la valeur de quelque chose d'autre (ou 0 si rien n'est affecté ài
).OriginalL'auteur Amir Pashazadeh
Lorsque vous créez une instance d'objet, les variables globales seront initialisés. Vous pouvez (mais pas obligé) changer certains d'entre eux dans le constructeur.
Je pense que tu veux dire
Ne crois pas - je pense qu'il est demandé au sujet de init variables de classe de constructeur.
tout juste de compléter le code: le
cadence
variable doit être définie hors (avant) le constructeur. Si non, cela ne compile pasOriginalL'auteur evgenyl
Dans le constructeur : il sera variable Locale
Java contient les éléments suivants types de variables:
Variables d'Instance (Non-champs statiques): En programmation orientée objet, les objets de stocker leurs différents états dans le "non-champs statiques" qui est déclarée sans le mot clé static. Chaque objet de la classe a son propre ensemble de valeurs pour ces variables statiques on peut donc dire que ceux-ci sont liés à des objets (instances de la classe).Par conséquent, ces variables sont également connus comme les variables d'instance. Ces variables prennent des valeurs par défaut si pas initialisé.
Variables de classe (champs Statiques): ceux-ci sont collectivement lié à une classe et aucun objet ne peut réclamer son unique propriétaire . Les variables définies avec le mot clé static sont partagées par tous les objets. Ici, les Objets n'ont pas de stocker une valeur individuelle, mais ils sont obligés de le partager entre eux. Ces variables sont déclarées comme "les champs statiques" à l'aide du mot-clé static. Toujours le même ensemble de valeurs partagées entre les différents objets de la même classe. De sorte que ces variables sont des variables globales qui sont les mêmes pour tous les objets de la classe. Ces variables prennent des valeurs par défaut si pas initialisé.
Variables locales: Les variables définies dans une méthode ou un bloc de code est appelé variables locales. Ces variables peuvent être consultées à l'intérieur d'une méthode ou un bloc de code seulement. Ces variables ne prennent pas les valeurs par défaut si pas initialisé. Ces valeurs doivent être initialisées avant de les utiliser.
Paramètres: Paramètres ou arguments sont des variables utilisées dans les déclarations de méthode.
OriginalL'auteur Alya'a Gamal
Le constructeur est comme toute autre méthode. Les Variables qui sont déclarées à l'intérieur d'elle sont uniquement disponibles dans les, et ils sont détruits lorsque vous sortez de la portée.
OriginalL'auteur Maroun
La différence dans ce cas est que vous ne sont pas seulement de l'affectation de la variable dans le constructeur (dans le second cas). Vous êtes également le déclarer. Ainsi, la variable est locale par le constructeur et n'est pas visible de l'extérieur.
OriginalL'auteur Lucia Pasarin