Pentru a începe, să se ocupe cu modificatorii de acces. Există doar patru:
- privat membri ai clasei sunt disponibile numai în cadrul clasei
- pachet-privat sau implicit (implicit) membrii clasei sunt văzute în interiorul pachetului
- membrii clasei protejate sunt disponibile în pachet și derivate clase
- membri publici ai clasei sunt disponibile tuturor
În timpul moștenirea se poate schimba Modificatorii de acces în direcția de o mai mare vizibilitate.
Modificatorul de acces constructori, metode și câmpuri pot fi orice, dar clasele și unitățile lor nu sunt atât de simple. O clasă nu poate fi decât fie publice, fie implicit, și doar o singură clasă publică poate fi într-un singur fișier. La blocul poate fi doar un singur modificator - implicit.
Modificatorii static, abstract și finală
- Acesta se aplică numai metode și clase
- La metoda abstractă este un organism metoda
- Este opusul finală: clasa finală nu poate fi moștenită, clasa abstractă este necesară pentru a moșteni
- Clasa trebuie să fie declarate ca abstract în cazul în care:
- conține cel puțin o metodă abstractă
- aceasta nu prevede punerea în aplicare a metodelor abstracte moștenite
- acesta nu prevede punerea în aplicare a metodei de interfață, punerea în aplicare a care a declarat
- trebuie să dezactivați crearea de instanțe ale clasei
Modificatori strictfp, tranzitorii, volatile, sincronizat, nativ
- Folosit pentru metode și clase
- Acesta prevede executarea operațiunilor de pe numere de tip float și double (în virgulă mobilă) prin standardul IEEE 754
- Aceasta se aplică numai pentru variabile la nivel de clasă (variabile locale nu pot fi declarate ca fiind tranzitorie)
- Transientperemennye nu poate fi definitivă sau statică.
- Transientperemennye nu serializate
- Folosit numai cu variabile
- Acesta poate fi utilizat cu variabile statice
- Nu este utilizat pentru variabile finale - Valoarea variabilei declarate ca volatile, modificat de un fir asincronă schimbat pentru alte fluxuri
- Acesta este utilizat în aplicații multithreaded
sincronizat
- Acesta se aplică numai metodele sau părți ale metodelor
- Este folosit pentru a controla accesul la părțile critice ale codului în programele multithreaded
- Este folosit doar pentru metode
- Aceasta indică faptul că metoda este scrisă într-un alt limbaj de programare
- în Java clase folosesc o mulțime de metode native pentru creșterea productivității și a accesului la hardware-ul
- Puteți aduce / returna obiecte Java de la metode native
- Metoda semnăturii trebuie să se termine cu „;“, acolade va provoca o eroare de compilare
Mai ales în interfețele
- Metodele sunt întotdeauna publice și abstracte, chiar dacă nu este declarată
- Metodele nu pot fi statice, finala, strictfp, nativ, privat, protejat
- Numai variabilele publice statică finală, chiar dacă nu este declarată
- Variabilele nu pot fi strictfp, nativ, privat, protejat
- Poate numai moșteni (extinde) cealaltă interfață, dar nu pune în aplicare interfață sau clasă (uneltelor).
Pune-l toți modificatorii împreună: