J. Introducere in limbajul Java - Discipline
J. Introducere in limbajul Java - Discipline
J. Introducere in limbajul Java - Discipline
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Curs POO-2006 (draft) 2006-2007 3/34 10/22/2006 2006_Intro_<strong>Java</strong>_v01.htm<br />
J.2.3. Analiza programului, l<strong>in</strong>ie cu l<strong>in</strong>ie<br />
Sa analizam acum programul, l<strong>in</strong>ie cu l<strong>in</strong>ie, si element cu element.<br />
1 public class Salut {<br />
L<strong>in</strong>ia 1 declara o clasa <strong>Java</strong> (cf. class), numita Salut, al carei cod poate fi accesat de orice cod<br />
exterior ei (cf. public). Altfel spus, codul clasei Salut este neprotejat si deschis tuturor celorlalte<br />
clase. Dupa declaratia clasei, urmeaza corpul ei, aflat <strong>in</strong>tre elementele operatorului de declarare a<br />
blocurilor.<br />
Clasa este o constructie orientata spre obiecte (OO, object-oriented). Declaratia de clasa<br />
def<strong>in</strong>este un tip complex care comb<strong>in</strong>a date si functiile care actioneaza asupra acelor date.<br />
Variabilele de tip clasa se numesc obiecte. Cum <strong>Java</strong> e un limbaj OO pur, tot codul <strong>Java</strong> trebuie<br />
declarat <strong>in</strong> <strong>in</strong>teriorul unor clase.<br />
2 public static void ma<strong>in</strong>(Str<strong>in</strong>g[] args) {<br />
L<strong>in</strong>ia 2 declara o metoda ma<strong>in</strong>(), al carei cod este neprotejat si deschis tuturor celorlalte clase<br />
(cf. public), o metoda cu caracter global clasei (cf. static) si care nu returneaza nici o valoare<br />
(cf. void). Metoda ma<strong>in</strong>() este numita punct de <strong>in</strong>trare <strong>in</strong> program, si reprez<strong>in</strong>ta metoda care va fi<br />
executata prima, atunci cand va fi lansata <strong>in</strong>terpretarea clasei Salut.<br />
Metoda ma<strong>in</strong>() primeste ca parametru, <strong>in</strong> <strong>in</strong>teriorul operatorului listei de parametri ai<br />
metodelor, un tablou de obiecte de tip Str<strong>in</strong>g. Operatorul de <strong>in</strong>dexare este folosit pentru a declara<br />
tabloul. Pr<strong>in</strong> <strong>in</strong>termediul acestui tablou, <strong>in</strong>terpretorul <strong>Java</strong> paseaza argumentele adaugate de<br />
utilizator dupa numele <strong>in</strong>terpretorului (java) si al programului (clasei, <strong>in</strong> cazul nostru, Salut).<br />
Programul poate utiliza sau nu aceste argumente, pe care le acceseaza pr<strong>in</strong> <strong>in</strong>termediul refer<strong>in</strong>tei args<br />
(refer<strong>in</strong>ta la tablou de obiecte de tip Str<strong>in</strong>g).<br />
Str<strong>in</strong>g este numele unei clase d<strong>in</strong> biblioteca standard <strong>Java</strong>, numita java, d<strong>in</strong> pachetul de clase<br />
care sunt implicit importate, numit java.lang. Numele sau complet (calificat de numele<br />
pachetului) este java.lang.Str<strong>in</strong>g. Rolul clasei Str<strong>in</strong>g este de a reprezenta (<strong>in</strong>capsula) siruri de<br />
caractere <strong>Java</strong> (<strong>in</strong> <strong>Java</strong> caracterele sunt reprezentate <strong>in</strong> format UNICODE, <strong>in</strong> care fiecare caracter<br />
necesita 2 octeti pentru codificare). Clasa Str<strong>in</strong>g permite reprezentarea sirurilor de caractere<br />
nemodificabile (immutable).<br />
Dupa declaratia metodei, urmeaza corpul ei, aflat <strong>in</strong>tre acolade.<br />
3 System.out.pr<strong>in</strong>tln(“Buna ziua!”);<br />
L<strong>in</strong>ia 3 reprez<strong>in</strong>ta corpul metodei ma<strong>in</strong>(). Ea reprez<strong>in</strong>ta o <strong>in</strong>structiune <strong>Java</strong> de tip <strong>in</strong>vocare de<br />
metoda (apel de functie). Este <strong>in</strong>vocata metoda pr<strong>in</strong>tln() pentru a se trimite pe ecran (<strong>in</strong> consola<br />
standard de iesire) un sir de caractere. Metoda pr<strong>in</strong>tln() apart<strong>in</strong>e obiectului out (de tip<br />
java.io.Pr<strong>in</strong>tStream), care este atribut cu caracter de clasa al clasei System (de fapt,<br />
java.lang.System). Obiectul out corespunde consolei standard de iesire, la fel cum obiectul <strong>in</strong><br />
corespunde consolei standard de <strong>in</strong>trare, iar obiectul err corespunde consolei standard pentru mesaje<br />
de eroare (vezi si figura urmatoare). Operatorul de calificare a numelor este folosit pentru a se<br />
specifica numele calificat al metodei pr<strong>in</strong>tln(). Sirul de caractere care ii este pasat ca parametru<br />
(Buna ziua!) este plasat <strong>in</strong> operatorul de declarare a sirurilor de caractere. Metoda pr<strong>in</strong>tln() nu<br />
returneaza nici o valoare. Instructiunea se <strong>in</strong>cheie cu operatorul de sfarsit de <strong>in</strong>structiune.<br />
L<strong>in</strong>ia 4 d<strong>in</strong> program precizeaza <strong>in</strong>cheierea declaratiei metodei ma<strong>in</strong>().<br />
L<strong>in</strong>ia 5 d<strong>in</strong> program precizeaza <strong>in</strong>cheierea declaratiei clasei Salut (l<strong>in</strong>iile 3, 4 si 5 d<strong>in</strong> formeaza<br />
corpul clasei Salut) si pr<strong>in</strong> urmare <strong>in</strong>cheierea programului.