- - Cum se creează un obiect al unei clase în Java

Cum se creează un obiect al unei clase în Java

În Java, totul este un obiect. În acest fel, începem cu conceptele de bază ale programării orientate pe obiecte, de exemplu OOP. Clasa poate fi privită ca o entitate, în timp ce obiectul poate fi definit ca atribute și comportament sub o singură entitate. Obiectul este definit ca o instanță a unei clase.

Acum vom înțelege ce este un obiect în Java, cum să creăm obiecte dintr-o clasă. De când până acum te descurci bine setarea calității dvs. de clasă pentru a rula programe Java, să începem cu codul.

Programul Java

class Employee{
String employeeName;
String address;
int age;
double salary;
void showDetails(){
System.out.println("Employee's Name: "+employeeName);
System.out.println("Employee's Address: "+address);
System.out.println("Employee's Age: "+age);
System.out.println("Employee's Salary: "+salary);
}
}
class EmployeeDemo{
public static void main(String args[]){
Employee e;
e = new Employee();
System.out.println("Memory address of e: "+e);
Employee employee = new Employee();
System.out.println("Memory address of employee: "+employee);
Employee emp;
emp = employee;
System.out.println("Memory address of emp: "+emp);
employee = null;
System.out.println("Memory address of emp: "+employee);
}
}

Concepte cheie

Mai întâi uitați-vă la numele programului java pe care l-am salvatîn fișier cu extensia .java. Nu este vorba de clasa Employee, ci numele fișierului Java este în numele clasei EmployeeDemo. Motivul este metoda principală () se află în cadrul clasei EmployeeDemo.

Când compilăm EmployeeDemo.java, vom primi două fișiere .class viz. Employee.class și EmployeeDemo.class. Deoarece compilatorul java introduce automat fiecare clasă în propriul fișier .class, este posibil să nu rămână în același fișier sursă.

producție

ieșire program java

Explicația Codului și a rezultatelor Java

Când creați o clasă, creați un nou tip de date. Obținerea obiectelor este un proces în două etape:

În primul rând, trebuie să declarați o variabilă de tipul clasei. Această variabilă se numește variabilă de referință a angajaților din clasa. Este pur și simplu o variabilă care se poate referi la un obiect.

În al doilea rând, trebuie să achiziționați o copie reală, fizică a obiectului și să o atribuiți variabilei care poate fi realizată folosind nou operator.

Funcția operatorului „nou”

Noul operator alocă în mod dinamic memoria pentru un obiect și îi returnează o referință (adresă în memoria obiectului alocat de nou). Această referință este apoi stocată în variabilă.

Acum,

Angajat e; -> Aici „e” este o variabilă de referință a angajaților clasei care se poate referi la un obiect. Contine nul valoare.

Apoi,

e = nou angajat ();

Aici nou a alocat dinamic memoria pentru obiectși a returnat referința care este stocată în e. Imediat după crearea obiectului, variabilele de membru sunt inițializate de valorile implicite de constructorul implicit Employee (). Vom discuta mai târziu despre constructor. Consultați ieșirea „Adresa de memorie a e: Angajat @ ​​19821f”, este clar că nu este altceva decât adresa de memorie care este alocată obiectului și stocată în e.

În 2nd caz Angajat salariat = angajat nou (); procesul în două etape se face într-un singur pas. Locație de memorie diferită este alocată acestui obiect. Este clar din rezultat.

În cele 3rd caz în care am creat variabila de referință empAngajat. Apoi am atribuit obiectul angajaților acestei variabile de referință. Din ieșire, este aproape sigur că ambele obiecte se referă la aceeași locație de memorie. La următorul pas, angajatul este setat pe nul, atunci acesta nu va mai avea copia membrilor Angajatului clasei.

Aici, numele de angajat, adresa, vârsta, salariul se numesc variabile de membru sau variabile de instanță ale clasei Angajat și showDetails () se numește metoda de membru a clasei Angajat.

structură de program java de clasă obiect

Notă specială: Fiecare obiect va avea o copie separată a membrilor clasei Angajat. Vom înțelege acest lucru schematic.

În continuare vom învăța cum să setați variabile de instanță ale unei clase.

Consultați aici mai multe tutoriale utile și ghiduri definitive despre programarea Java.

Comentarii