o variabilă ne oferă stocare numită pe care programele noastre o pot manipula. Fiecare variabilă din Java are un tip specific, care determină dimensiunea și aspectul memoriei variabilei; gama de valori care pot fi stocate în acea memorie; și setul de operații care pot fi aplicate variabilei.
trebuie să declarați toate variabilele înainte de a putea fi utilizate. În urma este forma de bază a unei declarații variabile −
data type variable ...] ;
aici tipul de date este unul dintre tipurile de date Java și variabila este numele variabilei. Pentru a declara mai multe variabile de tipul specificat, puteți utiliza o listă separată prin virgulă.
următoarele sunt exemple valide de declarare variabilă și inițializare în Java −
exemplu
int a, b, c; // Declares three ints, a, b, and c.int a = 10, b = 10; // Example of initializationbyte B = 22; // initializes a byte type variable B.double pi = 3.14159; // declares and assigns a value of PI.char a = 'a'; // the char variable a iis initialized with value 'a'
Acest capitol va explica diferite tipuri de variabile disponibile în limbajul Java. Există trei tipuri de variabile în Java −
- variabile locale
- variabile de instanță
- variabile de clasă/statice
variabile locale
-
variabilele locale sunt declarate în metode, Constructori sau blocuri.
-
variabilele locale sunt create atunci când metoda, constructorul sau blocul este introdus și variabila va fi distrusă odată ce iese din metodă, constructor sau bloc.
-
modificatorii de acces nu pot fi utilizați pentru variabilele locale.
-
variabilele locale sunt vizibile numai în cadrul metodei, constructorului sau blocului declarat.
-
variabilele locale sunt implementate la nivel de stivă intern.
-
nu există nicio valoare implicită pentru variabilele locale, deci variabilele locale ar trebui declarate și o valoare inițială ar trebui atribuită înainte de prima utilizare.
exemplu
aici, vârsta este o variabilă locală. Aceasta este definită în interiorul metodei pupAge() și domeniul său de aplicare este limitat doar la această metodă.
public class Test { public void pupAge() { int age = 0; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args) { Test test = new Test(); test.pupAge(); }}
aceasta va produce următorul rezultat −
ieșire
Puppy age is: 7
exemplu
următorul exemplu folosește vârsta fără a o inițializa, deci ar da o eroare la momentul compilării.
public class Test { public void pupAge() { int age; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args) { Test test = new Test(); test.pupAge(); }}
aceasta va produce următoarea eroare în timpul compilării −
ieșire
Test.java:4:variable number might not have been initializedage = age + 7; ^1 error
variabile de instanță
-
variabilele de instanță sunt declarate într-o clasă, dar în afara unei metode, constructor sau orice bloc.
-
când un spațiu este alocat pentru un obiect din heap, se creează un slot pentru fiecare valoare variabilă de instanță.
-
variabilele de instanță sunt create atunci când un obiect este creat cu ajutorul cuvântului cheie ‘nou’ și distruse atunci când obiectul este distrus.
-
variabilele de instanță dețin valori la care trebuie să se facă referire prin mai multe metode, constructor sau bloc sau părți esențiale ale stării unui obiect care trebuie să fie prezente în întreaga clasă.
-
variabilele de instanță pot fi declarate la nivel de clasă înainte sau după utilizare.
-
modificatori de acces pot fi date de exemplu variabile.
-
variabilele de instanță sunt vizibile pentru toate metodele, Constructorii și blocurile din clasă. În mod normal, se recomandă ca aceste variabile să fie private (nivel de acces). Cu toate acestea, vizibilitatea pentru subclase poate fi dată pentru aceste variabile cu utilizarea modificatorilor de acces.
-
variabilele de instanță au valori implicite. Pentru numere, valoarea implicită este 0, pentru booleeni este falsă, iar pentru referințele obiectelor este nulă. Valorile pot fi atribuite în timpul declarației sau în cadrul constructorului.
-
variabilele de instanță pot fi accesate direct apelând numele variabilei din interiorul clasei. Cu toate acestea, în cadrul metodelor statice (atunci când variabilelor de instanță li se oferă accesibilitate), acestea ar trebui apelate folosind numele complet calificat. Obiect de referință.Nume variabil.
exemplu
import java.io.*;public class Employee { // this instance variable is visible for any child class. public String name; // salary variable is visible in Employee class only. private double salary; // The name variable is assigned in the constructor. public Employee (String empName) { name = empName; } // The salary variable is assigned a value. public void setSalary(double empSal) { salary = empSal; } // This method prints the employee details. public void printEmp() { System.out.println("name : " + name ); System.out.println("salary :" + salary); } public static void main(String args) { Employee empOne = new Employee("Ransika"); empOne.setSalary(1000); empOne.printEmp(); }}
aceasta va produce următorul rezultat −
ieșire
name : Ransikasalary :1000.0
variabile de clasă/statice
-
variabilele de clasă cunoscute și ca variabile statice sunt declarate cu cuvântul cheie static într-o clasă, dar în afara unei metode, constructor sau bloc.
-
ar exista o singură copie a fiecărei variabile de clasă pe clasă, indiferent de câte obiecte sunt create din ea.
-
variabilele statice sunt rareori folosite, altele decât cele declarate ca constante. Constantele sunt variabile care sunt declarate ca publice / private, finale și statice. Variabilele constante nu se schimbă niciodată de la valoarea lor inițială.
-
variabilele statice sunt stocate în memoria statică. Este rar să se utilizeze variabile statice, altele decât cele declarate finale și utilizate fie ca constante publice, fie private.
-
variabilele statice sunt create atunci când programul pornește și distruse atunci când programul se oprește.
-
vizibilitatea este similară cu variabilele de instanță. Cu toate acestea, majoritatea variabilelor statice sunt declarate publice, deoarece acestea trebuie să fie disponibile pentru utilizatorii clasei.
-
Valorile implicite sunt aceleași cu variabilele de instanță. Pentru numere, valoarea implicită este 0; pentru booleeni, este falsă; iar pentru referințele la obiecte, este nulă. Valorile pot fi atribuite în timpul declarației sau în cadrul constructorului. În plus, valorile pot fi atribuite în blocuri speciale de inițializare statică.
-
variabilele statice pot fi accesate apelând cu numele clasei ClassName.Nume variabil.
-
când declarați variabilele de clasă ca finale statice publice, atunci numele variabilelor (constante) sunt toate cu majuscule. Dacă variabilele statice nu sunt publice și finale, sintaxa de denumire este aceeași cu instanța și variabilele locale.
exemplu
import java.io.*;public class Employee { // salary variable is a private static variable private static double salary; // DEPARTMENT is a constant public static final String DEPARTMENT = "Development "; public static void main(String args) { salary = 1000; System.out.println(DEPARTMENT + "average salary:" + salary); }}
aceasta va produce următorul rezultat −
ieșire
Development average salary:1000
Notă − Dacă variabilele sunt accesate dintr-o clasă exterioară, Constanta ar trebui accesată ca angajat.Departamentul
ce urmează?
ați folosit deja modificatori de acces (public& privat) în acest capitol. Următorul capitol va explica în detaliu modificatorii de acces și modificatorii fără acces.