Archive for category Java

Tutorial Java SCJP – # 19 Enumerari de tip enum

Exista situatii in care o variabila trebuie sa aiba valori limitate la o anumita multime, definita in specificatiile solutiei. Sa presupunem ca trebuie dezvoltata o aplicatie Java care gestioneaza Vehicule iar tipul de motor trebuie sa ia o valoare din multimea {BENZINA, DIESEL, HYBRID, ELECTRIC}. Pentru a implementa cerinta se poate defini atributul asociat tipului de motor ca String sau ca int si se valideaza de fiecare data valoarea de intrare. Pentru siruri de caractere se poate compara valoarea de intrare cu "BENZINA", "DIESEL", si asa mai departe. Pentru int se poate face asocierea BENZINA este 1, DIESEL este 2, … si se verifica valorile pe baza acesti abordari. Aceasta este o solutie posibila, dar nu e eficienta pentru ca se pot face cu usurinta greseli si pentru ca se complica o procedura care ar trebui sa fie simpla.

Read the rest of this entry »

1 Comment

Tutorial Java SCJP – # 18 Blocuri de initializare

Pentru a face prelucrari si pentru a obtine rezultate este nevoie de date. Si aceste valori de intrare sunt de obicei stocate in variabile statice, variabilele locale (definite în metode) sau variabile de instanta (variabile nonstatice definite în clase). Pentru a initializa o variabila o poti face la definitia sau mai târziu într-o metoda (constructor sau nu). In ciuda acestor doua solutii comune, exista o alta cale folosind blocuri de initializare.

Blocurile de initializarea sunt blocuri de cod definite intre { si }. Din acest punct de vedere, ele seamana cu blocuri/corpuri de metode, dar principala diferenta este ca blocurile de initializare nu au un nume. Ele sunt ca metodele, insa fara antet/header (tip returnat, nume metoda, lista de parametri).

Read the rest of this entry »

1 Comment

Tutorial Java SCJP – #15 Clase Wrapper pentru tipurile primitive

In Java exista 2 categorii importante de tipuri de date: referinte si primitive. De cele mai multe ori, valorile numerice, caracterele si valorile logice sunt utilizate ca primitive, deoarece sunt mai eficiente, ca viteza de procesare, sintaxa si efecte asupra memoriei. In ciuda acestui fapt, exista scenarii (cand folosesti Collections), când este necesar sa stochezi valori primitive in interiorul unor obiecte. Pentru aceasta nevoie, Java ofera un set de clase folosite la ambalarea (wrap) valorilor primitive intr-un obiect.

Read the rest of this entry »

1 Comment

Tutorial Java SCJP – #16 Constructori

Intr-o clasa se pot defini metode, dar exista un tip special de metode care sunt folosite pentru a rezolva o anumita problema, aceea de a construi obiecte. Constructori sunt metode speciale datorita rolului lor si pentru ca au o multime reguli privind declararea si utilizare.

1 Comment

Tutorial Java SCJP – #17 Modificatori de acces pentru metode si variable, atribute

Modificatorii de acces reprezinta modalitati prin care programatorul poate controla (acorda sau restrictioneaza) accesul la metodele si atributele definite intr-o clasa. Un motiv pentru a utiliza acesti modificatori de access este conceptul POO numit incapsulare, care cere ca atributele sa nu poata si accesate (citire/scriere) direct, ci doar prin metode accesor (cele prefixate cu get si set). Un alt motiv este necesitatea de a controla cum este folosita clasa si cum si ce valori ajung sa fie stocate in variabilele de instanta (atribute). De exemplu, daca se implementeaza clasa Persoana care defineste atributul varsta, nu este de dorit ca un alt programator sa poata initializa direct (cu orice valoare) acest atribut, deoarece poate folosi o valoare negativa.

Read the rest of this entry »

2 Comments

Tutorial Java SCJP – #14.1 Ce inseamna sa ascunzi (shadow) o variabila

Shadowing se produce atunci cand se defineste o metoda cu parametri de intrare care au nume identice cu variabile statice sau variabile de instanta (atribute). Read the rest of this entry »

1 Comment

Tutorial Java SCJP – # 14.2 Cum se definesc metode cu numar variabil de argumente – var-args

Incepand cu Java 5.0, puteti defini metode cu liste variabile de argument (var-args). Aceste metode pot fi utilizate in situatii cand nu este cunoscut numarul exact de argumente. Aceasta posibilitate este, de asemenea, disponibila si in alte limbaje de programare si chiar daca nu este folosit intensiv, este un subiect pentru examenul de SCJP.

Read the rest of this entry »

No Comments

Tutorial Java SCJP – #13 Pachete si modificatori de acces pentru clase

Doua concepte importante ale Programarii Orientate Obiect impun separarea entitatilor (claselor) pe baza functionalitatii sau semnificatiei lor (modularizare) si ascunderea datelor si comportamentului în cadrul unei clase (încapsulare). Pentru a atinge aceste obiective se folosesc clase pentru a defini entitati care au atribute si un comportament (metodele lor). La un nivel superior, pentru o buna organizare a modulelor aplicatiei Java puteti utiliza pachete (packeges) pentru a separa modulele realizate de programatori diferiti sau pentru a grupa clasele în module in functie de utilitate, functie, logica.

Read the rest of this entry »

,

1 Comment

Tutorial SCJP Java – #11 Cum se utilizeaza String, StringBuilder si StringBuffer

In limbajele de programare, majoritatea tipurilor de date utilizate pentru variabile sunt valorile booleene, valorile numerice si sirurile de caractere (sau vectori de caractere terminati cu ‘\0’). In contrast cu C sau C++, in Java modul de gestiune a sirurilor de caractere este diferit, deoarece:

  • in Java fiecare char reprezinta o valoare Unicode pe 16 biti, si nu 1 octet;
  • in Java, valorile de tip siruri de caractere sunt gestionate de obiecte String;
  • in Java, sintaxa va permite sa utilizati String asemenea unui tip primitiv de date (puteti folosi operatorul = pentru a le initializa)
  • in Java, String sunt obiecte imuabile (immutable), in sensul ca odata ce sunt create, ele nu isi pot schimba valoarea.

Read the rest of this entry »

2 Comments

Tutorial SCJP Java – #12 Immutable: String si Integer

Obiecte immutable (imuabile) sunt obiecte care nu isi pot schimba valoarea, odata ce acestea sunt create. Obiectul immutable cel mai cunoscut in Java este String. In afara de String, exista si alte obiect imuabile, iar unul dintre acestea este Integer (clasa si nu tipul primitiv), care are un comportament interesant pentru valori intre -128 si 127. Read the rest of this entry »

3 Comments