Champ de classe et champ d'instance en Java
- la variable locale en Java
- le paramètre d’entrée en Java
- le champ de classe en Java
- les propriétés du champ de classe en Java
- le champ d’instance en Java
- Les propriétés des champs d’instance en Java
Cet article apprendra les termes de base du langage de programmation Java tels que les variables locales, les paramètres d’entrée, les champs de classe et les champs d’instance en Java.
la variable locale en Java
Une variable dont la portée est liée au bloc, à la méthode ou au constructeur est appelée une variable locale. Dites, nous avons une méthode, testing
.
Nous déclarons une variable val
et attribuons 10
à cette méthode. Écrivez l’instruction print
dans le bloc main
.
public class Experiment {
public static void testing() {
int val = 10;
}
public static void main(String[] args) {
// try printing the local variable of the function demo
System.out.printf("%d", val);
}
}
Production:
error: cannot find symbol
System.out.printf("%d", val);
^
symbol: variable val
location: class Experiment
1 error
Bien que la variable val
soit présente dans ce code, nous obtenons une erreur. Ici, la variable val
est une variable locale à la méthode testing()
.
Etant donné qu’il est défini à l’intérieur de la méthode testing
, son champ d’application est limité. Nous obtenons une erreur lorsque l’instruction print
tente d’accéder à cette variable en dehors de cette portée.
Maintenant, déclarez l’instruction print
dans la méthode testing
et appelez la méthode à partir du bloc main
.
public class Experiment {
public static void testing() {
int val = 10;
System.out.printf("%d", val);
}
public static void main(String[] args) {
// call the method
testing();
}
}
Production:
10
Cette fois, l’instruction print
accède à la variable à partir de sa portée.
Essayez maintenant de comprendre la variable locale dans ce code.
public class Treat {
public static void main(String[] args) {
for (int i = 0, i < 1; i++) {
System.out.println("You will get a Cake if you answer correctly!");
}
}
}
La variable i
est une variable locale. Sa portée est limitée à la boucle for
.
Notez les points suivants concernant les variables locales :
- Nous ne pouvons pas utiliser de modificateurs d’accès comme
public
,protected
etprivate
pour déclarer des variables locales. - Ces variables sont implémentées en interne au niveau de la pile.
le paramètre d’entrée en Java
Certaines informations doivent être exécutées, d’autres non. Regardez cette méthode welcome
.
public class Greet {
// a function that does not need any parameter or information
public static void welcome() {
System.out.println("Hello, we are happy you visited.");
}
public static void main(String[] args) {
// call the function
welcome();
}
}
Production:
Hello, we are happy you visited.
Nous appelons la méthode sans lui transmettre de valeurs. Nous ne donnons aucune information à cette méthode, et elle s’exécute correctement.
public class Test {
// a function that needs some information/parameter
public static void hello(int x) {
int a;
System.out.println("Hello, we are happy you visited.");
if (x < 18) {
a = 18 - x;
System.out.printf("Please come back after %d years.", a);
}
}
public static void main(String[] args) {
int age = 2;
// call the function
hello(age);
}
}
Production:
Hello, we are happy you visited.
Please come back after 16 years.
La méthode hello
ne s’exécutera pas correctement si nous ne passons pas de valeur pour age
.
La méthode reçoit cette valeur à travers la variable x
définie à l’intérieur de la parenthèse. La variable x
n’est rien d’autre qu’un paramètre d’entrée ou tout simplement un paramètre.
Un paramètre d’entrée ou un paramètre en Java est une variable utilisée pour définir une méthode pour aider la méthode à s’exécuter.
Ne mélangez pas les paramètres avec les arguments. Ils ont la même valeur, mais ce n’est pas la même chose.
public class Test {
// function to add ages
public static int totalAge(int age1, int age2) {
return age1 + age2;
}
public static void main(String[] args) {
int a1 = 10;
int a2 = 12;
int total = totalAge(a1, a2);
System.out.println("Sum of ages: " + total);
}
}
Production:
Sum of ages: 22
Ici, age1
et age2
sont les paramètres d’entrée.
le champ de classe en Java
Toute variable à l’intérieur d’une classe peut être appelée champ
en Java. Toutes les variables comme price
, quantity
et name
sont des champs.
Cependant, notez que la variable quantity
commence par le mot-clé static
. De tels champs avec le mot-clé static
dans leur définition sont appelés champs de classe en Java.
Les champs de classe sont également appelés variables de class
ou champs statiques en Java.
class Cake {
int price;
static int quantity;
string name;
}
les propriétés du champ de classe en Java
Les points suivants sont un champ de classe :
- Un champ de classe doit être déclaré avec le mot clé
static
.
public static NameOfClass {
static datatype name_of_variable;
}
- De nombreuses instances d’une classe partagent le champ de classe, et donc les champs de classe sont économes en mémoire. En termes très simples, la valeur d’un champ d’instance est la même pour toutes les instances d’une classe en Java.
- Nous pouvons accéder à un champ de classe en Java en utilisant une instance de la classe et le nom de la classe lui-même. Notez qu’une instance n’est pas nécessairement nécessaire pour accéder à un champ statique.
class Cake {
int price;
static int quantity = 10;
String name;
public static void main(String[] args) {
// create the object of Cake class
Cake c1 = new Cake();
// Access the class field using the object
System.out.println(c1.quantity);
// Access the class field using the class
System.out.println(Cake.quantity);
}
}
Production:
10
10
Dans l’exemple ci-dessus, nous accédons au champ de classe à l’aide d’un objet utilisant l’opérateur point comme celui-ci - c1.quantity
. De même, pour accéder à la variable par classe, utilisez le nom de classe Cake.quantity
.
le champ d’instance en Java
public class Cake {
int cost;
String flavor;
public Cake(int cost, String flavor) {
this.cost = cost;
this.flavor = flavor;
}
public int expense() {
return cost;
}
public static void main(String[] args) {
Cake cake1 = new Cake(1000, "Choco lava");
Cake cake2 = new Cake(2000, "Pineapple");
System.out.println(cake1.expense());
System.out.println(cake2.expense());
}
}
Production:
1000
2000
À l’intérieur de la classe Cake
, nous avons deux variables - cost
et flavor
. Nous créons cake1
et cake2
.
Ces variables qui peuvent prendre des valeurs différentes pour différents objets sont appelées variables d'instance
ou champs d'instance
.
Les propriétés des champs d’instance en Java
Les champs d’instance en Java sont également appelés variables non statiques. Voici quelques points sur les champs d’instance.
- Les champs d’instance ne sont
pas
déclarés avec le mot-cléstatic
de Java.
public class ClassName {
datatype variable_name;
}
- Ils ne sont pas partagés avec toutes les instances. Chaque instance peut avoir sa valeur unique pour un champ d’instance en Java.
- Vous avez vu comment nous pouvions accéder à un champ de classe à l’aide de la classe elle-même. Eh bien, ce n’est pas vrai pour un champ d’instance en Java. Nous avons besoin d’une
instance/objet
pour accéder à un champ d’instance en Java. - Nous pouvons utiliser n’importe quel spécificateur d’accès avec un champ d’instance en Java. Reportez-vous à cette documentation pour en savoir plus sur les champs en Java.