Câmpurile, constructorii și metodele dintr-o clasă pot fi încapsulate,
astfel încât să nu fie vizibile din exteriorul clasei sau
instanței în care se află. Aceasta se realizează folosind la declararea
câmpului, constructorului sau metodei respective modificatorul private.
De exemplu, prin declarația de câmpuri private double a, b, c; se creează câmpurile private a, b, c care nu sunt vizibile din exteriorul instanței în care se afla. În mod similar, prin declarația de metodă private int ex1(int k) { return 2*k+1); } se declară metoda privată ex1. |
Câmpurile și metodele declarate astfel se numesc private. În opoziție cu acestea, sunt câmpurile și metodele publice, care sunt declarate folosind modificatorul public și sunt vizibile din orice altă clasă.
Ca și în cazul metodelor, o clasă poate avea mai multi constructori, care sa difere între ei prin signatură.
Exemplu: în aplicația Cercuri din fișierul Cercuri.java, la crearea instanțelor clasei Cerc1 s-a folosit constructorul implicit al acestei clase.
În corpul constructorului pot fi programate
orice fel de acțiuni care trebuie executate imediat după ce se alocă în
memorie spațiu pentru o instanță a clasei respective. Cel mai frecvent,
în corpul constructorilor se inițializează valorile câmpurilor instanței
nou create.
Exemplu
În fișierul Cercuri1.java
este declarată clasa Cerc în modul următor:
Clasa Cerc are atât metodele de instanță, cât și metodele
statice pentru calcularea ariei și circumferinței, care existau în
clasele Cerc1 și Cerc2 din exemplul dat în fișierul Cercuri.java. În plus, remarcăm
următoarele: În același fișier sursă, este declarata și clasa Cercuri1, în
care se utilizeaza clasa Cerc. Aplicația menționată este declarată
astfel:
|