Junior
Ce sunt variabilele de instanță?
sobes.tech AI
Răspuns de la AI
Variabilele de instanță sunt variabile care aparțin unei instanțe specifice (obiect) a unei clase. Fiecare obiect are o copie proprie a acestor variabile.
- Sunt definite în interiorul clasei, dar în afara metodelor.
- Sunt accesibile din orice metodă a aceleiași clase.
- Valoarea lor este unică pentru fiecare instanță a obiectului.
- Sunt inițializate la crearea instanței clasei (de exemplu, în constructor).
Exemplu în Java:
public class Dog {
String name; // variabilă de instanță
public Dog(String name) {
this.name = name;
}
public void printName() {
System.out.println("Numele meu este " + this.name);
}
}
// Crearea de instanțe
Dog dog1 = new Dog("Buddy");
Dog dog2 = new Dog("Lucy");
// Fiecare instanță are propriul 'name'
dog1.printName(); // Afișează: Numele meu este Buddy
dog2.printName(); // Afișează: Numele meu este Lucy
Tabel comparativ:
| Variabilă | Aparține | Domeniu de vizibilitate | Ciclul de viață | Inițializare |
|---|---|---|---|---|
| De instanță | Pentru fiecare instanță a obiectului | În interiorul instanței | Atât timp cât instanța există | La crearea instanței (constructor) |
| Statică (de clasă) | Pentru întreaga clasă (una pentru toți) | În întreaga clasă (adesea public) | Până la finalul execuției programului | La încărcarea clasei |
| Local | Pentru o metodă sau bloc de cod | În interiorul metodei/blocului unde este declarat | Doar în timpul execuției metodei/blocului | Trebuie să fie inițializată înainte de utilizare |