teorie java hatz

Upload: tudor-radovici

Post on 02-Mar-2018

270 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Teorie Java hatz

    1/50

    1

    CuprinsC u r s 1 . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 6

    P r in c ip i i d e b az a in o b iec tu a l i t a t e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    C l a s a : . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . 6

    In te r fa a : . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . 6

    I m p l e m e n t ar e a : . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 6

    A s c u n d e r ea i m p l e m en t a r i i : . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 7

    SPE CIFICAT ORII DE ACCE S: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    P r i v a t e : . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . 7

    P u b l i c : . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . 7

    P r o t e c t e d: . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . 7RE UT IL IZ ARE A IMPL E ME NT ARII COMPOZ IT IE . . . . . . . . . . . . . . 7

    - C o m p oz i t i e : . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 7

    RE UT IL IZ ARE A IMPL E ME NT ARII MOST E NIRE . . . . . . . . . . . . . . . . . 8

    M o s t e n i r e: . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. 8

    OBIE CT E INT E RSCHIMBABIL E PRIN POL IMORFISM . . . . . . . . . . 8

    IE RARHIE CU O S INGURA RADACINA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    C O N T A IN E R E . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 9

    C U R S 2 - 3 . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . 1 0

    ORGANIZ ARE A CODUL UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0

    CRE ARE A OBIE CT E L OR SI CICL UL DE VIAT A . . . . . . . . . . . . . . . . . 1 0

    N UME DE OBIE C TE RE FE RINT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0

    ORGANIZ ARE A ME MORIE I IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0

    T IPURI DE DAT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1

    DOME NIIL E DE VIZ IBIL IT AT E IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1

    VIZ IBIL IT AT E A NUME L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2CUVANT UL CHE IE ST AT IC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2

    ST IL DE SCRIE RE A CODUL UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2

    OPE RAT ORI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2

    CONT ROL UL E XE CUT IE I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3

    INIT IAL IZ ARE A OBIE CT E L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3

    SUPRAINCARCARE A ME T ODE L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3

    CUVANTUL CHEIE th i s . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 1 4

    DIST RUGE RE A OBIE CT E L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4

  • 7/26/2019 Teorie Java hatz

    2/50

    2

    ST E RGE RE A CORE CT A A OBIE CT E L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4

    MODUL DE FUNCT IONARE A GARBAGE COL L E CT ORUL UI

    . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . 1 4

    INIT IAL IZ ARE A DAT E L OR ME MBRE : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5

    PROCE SUL CRE ARII UNUI OB IE CT : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5

    BL OCUL ST AT IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6

    INIT IAL IZ ARE PRIN BL OC NON -ST AT IC . . . . . . . . . . . . . . . . . . . . . . . . . 1 6

    INIT IAL IZ ARE A SIRURIL OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6

    CONT ROL UL ACCE SUL UI C l a s e . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 1 6

    CONT ROL UL ACCE SUL UI M e m b r i i C l a s e l o r . . . . . . . . . . . . .. . . . . . 1 6

    C U R S 4 . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 1 8

    RE AL IZ ARE A CL ASE L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8RE UT IL IZ ARE A CODUL UI: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8

    INIT IAL IZ ARE A RE FE RINT E L OR L A RE AL IZ ARE A

    COMPOZ IT IE I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8

    S INT AXA MOST E NIRII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8

    IS -A v s Is -L ik e- A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9

    OPE RAT IA DE DE L E GARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9

    ASCUNDE RE A NUME L OR L A MOST E NIRE . . . . . . . . . . . . . . . . . . . . . . . 1 9

    AL E GE RE A INT RE COMPOZ IT IE S I MOST E NIRE . . . . . . . . . . . . . . 1 9

    ME CANISMUL UPCAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0

    D O W N C AS T . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 2 0

    ORDINE A DE APE L ARE A CONST RUCT ORIL OR . . . . . . . . . . . . . . . 2 1

    C U R S 5 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 2 2

    I n t e r f e t e . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . 2 2

    CL ASE ABST RACT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2

    CONCE PT UL DE INT E RFAT A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2

    DE SIGN P AT T E RNUL ST RAT E GY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3

    DE SIGN P AT T E RNUL ADAPT E R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3

    MOST E NIRE A MUL T IPL A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3

    DE SIGN PAT T E RNUL FACT ORYME T HOD . . . . . . . . . . . . . . . . . . . . . . . . 2 4

    C U R S 6 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 2 5

    CL ASE INT E RIOARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5

    INNE R CL ASSE S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5

    CL ASE INT E RIOARE ANONMIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5

  • 7/26/2019 Teorie Java hatz

    3/50

    3

    DE CE CL ASE INNE R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 6

    CL OSURE S & CAL L BACKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 6

    CONT ROL FRAME WORKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 7

    MOST E NIRE DIN CL ASE INNE R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 7

    C U R S 7 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 2 8

    COL E CT II , E XCE PT II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8

    CONT AINE RE GE NE RICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8

    T IPURI DE CONT AINE RE JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8

    L UCRUL CU CONT AINE RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9

    L IST E : 2 T IPURI DE L IST E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9

    I T E R A T OR I . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 2 9

    E X C E P T II . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . 2 9

    GUARDE D RE GIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0

    CRE ARE A PROPRIIL OR E XCE PT II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1

    SPE CIFICARE A E XCE PT IE I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1

    INL ANT UIRE A E XCE PT IIL OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1

    IE RARHIA E XCE PT IIL OR IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2

    E XCE PT II P IE RDUT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2

    RE ST RICT II L A E XCE PT II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2

    GUIDE L INE S: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2

    C U R S 8 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 3 3

    I / O J a v a . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 3 3

    S IST E MUL DE I /O INT R -UN L IMBAJ DE PROGRAMARE . . . . 3 3

    CL ASA FIL E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3

    INPUT s i OUT PUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3

    T IPURI DE In p u tS t rea m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3

    T IPURI DE Ou t p u tS t ream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4

    DE SIGN PAT T E RNUL DE C ORAT OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4

    T IPURI DE F i l t e r In p u tS t ream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4

    T IPURI DE F i l t e rOu tp u tS t re am . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4

    R E A D E R s i W R I T E R . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 35

    R A N D O M A c c e s s F i le . . . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 3 5

    RE AL IZ ARE A FIS IE RE L OR COMPRIMAT E . . . . . . . . . . . . . . . . . . . . . . . 3 5

    F I S I E R E J A R . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 3 5

    SE RIAL IZ ARE : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 6

  • 7/26/2019 Teorie Java hatz

    4/50

    4

    E XT E RNAL IZ ARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 6

    E VIT ARE A SE RIAL IZ ARII ANUMIT OR COMPONE NT E AL E

    OBIE CT E L OR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 7

    C U R S 9 . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 3 8

    R T T I . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 3 8

    OBIE CT UL C L ASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8

    CL ASS L IT E RAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8

    GE NE RIC CL ASS RE FE RE NCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 9

    COMPARARE A OBIE CT E L OR DE T IP CL ASS . . . . . . . . . . . . . . . . . . . . 3 9

    RE FL E CT ION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 9

    DE SIGN PAT T E RNUL PR OXY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 0

    C U R S 1 0 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 4 1CONCURE NT A IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1

    INT RODUCE RE IN PROGRAMARE A CONCURE NT A: . . . . . . . . . 4 1

    E XE CUT IA MA I RAPIDA A PROGRAME L OR . . . . . . . . . . . . . . . . . . . . . 4 1

    ABORDARI AL E L P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2

    CODE DE SIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2

    T HRE ADING IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2

    T E RMINOL OGIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3

    CL ASA T HRE AD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3

    VARIAT II L A CRE ARE A T ASKURIL OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3

    E XE CUT ORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4

    CRE ARE A DE T HRE ADURI PT E XE CUT ORS . . . . . . . . . . . . . . . . . . . . . 4 4

    RE T URNARE A DE VAL ORI DIN T HRE ADURI . . . . . . . . . . . . . . . . . . . 4 4

    T HRE ADURI DAE MON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5

    CRE ARE A UNOR INT E RFE T E GRAFICE RE SPONSIVE . . . . . . . 4 5

    PRINDE RE A E XCE PT IIL OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5C U R S 1 1 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 4 7

    P a r t a j a r e a r e s u r s e l o r . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . 4 7

    PART AJARE A RE SURSE L OR MUT E X . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7

    PART AJARE A RE SURSE L OR SYNCHRONIZ E D . . . . . . . . . . . . . . . 4 7

    ME CANISM MUT E X E XPL ICIT : L OCK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7

    AVANT AJE L E ME CANISMUL UI L OCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7

    AT OMICIT AT E S I VOL AT IL IT AT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 8

    SE CT IUNI CRIT ICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 8

  • 7/26/2019 Teorie Java hatz

    5/50

    5

    ST ARI AL E UNUI T HRE AD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 8

    CUM SE PUNE UN T HRE AD IN ST ARE A BL OCKE D . . . . . . . . . . . 4 9

    INT RE RUPE RE A T ASKURIL OR. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 4 9

    INT RE RUPE RE A T ASKURIL OR RUL AT E CU E XE CUT ORS . 4 9

    COOPE RARE A INT RE T ASKURI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 9

    DE ADL OCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 0

  • 7/26/2019 Teorie Java hatz

    6/50

    6

    Teorie Java

    Curs 1Cu p r in s :

    P r in c ip i i l e p ro g ramar i i o b iec tu a le ;

    No t i u n e a de o b i e c t ;

    Pr i nc i p i i de baz a i n ob i e ctua l i ta te

    Pro g ramarea o b iec tu a la :

    E lemen te d in sp a t iu l p ro b lemei p recu m s i r ep rezen ta r i i l e

    a c e s t o r a i n s p a t i u l s o l u t i e i = > O b i e c t e

    C a r a c t e r i s t i c i a l e l i m b a j e l o r o b i e c t u a l e :

    1 . Or ice e l emen t e s t e u n o b iec t ;

    2 . Un p ro g ram es te o co lec t i e d e o b iec te ca re i s i sp u n u n u l

    a l t u i a c e s a f a c a p r i n t r i m i t e r e d e m e s a j e

    3 . F ieca re o b iec t a re u n sp a t iu d e memo r ie , p o s ib i l co mp u s

    d i n a l t e o b i e c t e

    4 . F ieca re o b iec t a re u n t ip

    5 . T o a te o b iec te l e d e ace las i t i p p o t p r imi ace las i mesa j

    (PROPRIE T AT E A UPCAST ) .

    D e f i n i t i i :

    De f i n i t ia Bos ch p en t r u u n o b i e c t : Un o b i ec t a r e o s ta r e , u n

    co mp o r ta men t s i o id en t i ta t e

    C l a s a :Es t e u n s e t de ob i ec t e c u ca r a c t er i s t i c i s i

    f un c t i o na l i t a t i i d en t i c e ( t e r men ul d e c l as a s e s ub s t i tu i e

    t ermen u lu i t ip )

    I n t e r f a a :Me to d e ( f un c t io n a l i t a t e ) : c er er i l e ca re p o t f i

    a d resa te u n u i o b iec t p a r t i cu la r d in t r -o c la sa

    I m p l e m e n t a r e a :Mo d co n cr e t d e r ea l i za r e a fu n c t i on a l i t a t i i

    Un o b iec t p o a te f i p r i v i t ca s i f u rn i zo r d e serv ic i i

    S e imb u n a ta tes t e co ez iu n ea o b iec te lo r (o b iec te l e t reb u ie sa

    s e p o t r i v ea sc a b i n e u ne l e cu a l t e l e )

    UML : L imb a j s t an d ard iza t p en t ru mo d e la rea o b iec tu a la .

  • 7/26/2019 Teorie Java hatz

    7/50

    7

    R e p r e z e nt a r e a c l a s e l o r :

    Nu me Ti p (n um el e c l a se i ) - > L i gh t

    I n t e r f a t a( Fu n c t io n a l i t a t i i l e C lase i ) - > On () ;

    O f f ( ) ;

    Br ig h ten ( ) ;

    D i m ( ) ;

    Def in i rea u n u i o b iec t d in c l asa L ig h t :

    L ig h t i t = n ew L ig h t ( ) ;

    Ap e la rea u n e i fu n c t i i d in c l as a l ig h t cu a ju to ru l o b iec tu lu i

    d e f in i t i n c l asa r esp ec t iv a :

    I t . o n ( ) ;

    A scunde re a i mpl e me ntar i i :

    E x is ta d o u a t ip u r i d e p ro g ramato r i :

    - Crea to r i d e c l ase c reaza c l ase ca r e ex p u n d o ar

    fu n c t io n a l i t a t ea n ecesa ra c l ase lo r c l i en t , r e s tu l r aman e

    a s c u n s ;

    - Pro g ramato r i C l i en t co n su mato r i d e c l ase , ro lu l lo r e s t e

    sa f i e ech ip a t i cu u n se t d e c l ase p en t ru d ezv o l t a rea

    rap id a a ap l i ca t i i lo r f in a le

    P ro g ramato r i i c rea to r i d e c l ase t r eb u ie sa p o a ta sch imb a

    imp lemen ta rea ascu n sa fa ra ca p ro g ramato r i i c l i en t i sa f i e

    a f e c t a t i .

    S PEC IF IC A T O R I I DE A C C ES :

    P r i v a t e : e lemen te le p r iv a te p o t f i accesa te d o ar d e c rea to ru l

    c l a s e i i n c a d r u l m e t o d e l o r a c e l e i c l a s e

    P u b l i c : e lemen te le p u b l i ce su n t d i sp o n ib i l e o r i ca ro r a l t e

    c l a s e

    P r o t e c t e d : s imi la r cu p r iv a te , u t i l i za t in mo s ten i re , c l a se le

    c a r e m o s t e n e s c p o t a c c e s a e l e m e n t e p r iv a t e d i n c l a s e l e d e b a z a .

    R EU T IL IZ A R EA IMPLEMENT A R I I C O MPO Z IT IE

    Man ag emen tu l co mp lex i t a t i i : d esco mp u n erea e l emen te lo r

    p r ob le m ei in p a r t i c o mp on e nt e

    2 Meto d e d e r ea l i za re a co mp lex i t a t i i :

    - C o m p o z i t i e : o c lasa n o u a co n t in e c l ase ex i s t en te ( re la t ie

    has -a) . Se r ea l i zeaza p r in c rea re d e o b iec te memb re .Co mp o z i t i a r ea l i za ta d in amic se n u mes te ag reg are .

  • 7/26/2019 Teorie Java hatz

    8/50

    8

    R EU T IL IZ A R EA IMPLEMENT A R I I MO S T ENIR E

    Date le s i fu n c t io n a l i t a t i i l e se p o t imp ach e ta d u p a co n cep te

    ca re r ep rez in ta id e i s imi la re d in sp a t iu l p ro b lemei .

    M o s t e n i r e : O c lasa n o u a se aseaman a (ex t in d e) o c l asa

    ex i s t en ta (R el a t i e i s - a sa u i s - l i k e - a ) .

    C lasa d e b aza co n t in e ca rac te r i s t i c i l e s i co mp o r tamen te le

    c a r e v o r f i p a r t a j a t e c u t i p u r i l e d e r i v a t e .

    C lasa Der iv a ta co n t in e :

    - T o t i memb r i i c l a se i ( in c lu s iv ce i p r iv a t i ca re su n t

    a s c u n s i ) .

    -

    T o a t a i n t e r f a t a c l a s e i d e b a z a , c a r e e s t e d u p l i c a t a

    C l a s a d e r i v a t a e s t e i n a c e l a s i t i m p d e t i p u l c l a s e i d e b a z a .

    Most en ire cum se d i f erent iaza c la sa der iva t a de c la sa de

    baza .

    - Pr in ad au g area d e n o i me to d e su p l imen ta re ;

    - Sch imb area co mp o r tamen tu lu i u n o r meto d e ex i s t en te in

    c lasa d e b aza (o v er r id in g ) ;

    - Rela t ia i s - a : Clasa d e r iv a ta d o ar o v er r id e meto d e d in

    c lasa d e b aza (p r in c ip iu l su b s t i tu t i e i p u re )

    - Rela t ia i s - l ike - a : Clasa d e r iv a ta ad au g a e l emen te n o i

    in te r fe t e i d e b aza (meto d e le n o i n u su n t acces ib i l e d in

    c l a s a d e b a z a su b s t i tu t i a n u mai e s t e p u ra ) .

    O B IEC T E INT ER S C HIMB A B ILE PR IN PO LIMO R FIS M

    - L a i e ra rh i i l e d e c l ase d o r im sa t r a t am o b iec te l e u n i t a r

    su b t ip u l d e b aza , a s t f e l p u tem sc r i e co d ca re n u d ep in d e

    d e u n s p e c i f i c s i c a r e m a n i p u l e a z a o b i e c t e g e n e ri c e

    - Se d o res te ca sa se ex ecu te co d u l in o b iec te l e c l ase lo r

    d er iv a te f a ra ca sa s t im ( l a co mp i la re ) ca re v o r f i e fec t iv

    a c e s t e o b i e c t e

    -

    Co mp i la to a re t r ad i t io n a le (n o n OOP) ea r ly b in d in g

    -

    Co mp i la to a re OOP l a t e b in d in g co d u l ap e la t e s t ed e te rmin a t ab ia l a ex ecu t i e , l a co mp i la re se as ig u ra d o ar

    co resp o n d en ta t ip u lu i a rg u men te lo r s i a t ip u lu i d e r e tu rn .

    - J a v a co mp i la to r OOP d y n amic ( l a t e ) b in d in g

    - Propr ie t a t ea de UPCAST: t r a t a rea u n u i o b iec t d in t r -o

    c lasa d e r iv a ta ca s i cu m a r f i d in c l asa d e b aza .

  • 7/26/2019 Teorie Java hatz

    9/50

    9

    I ER A R HIE C U O S INGU R A R A DA C INA

    In j av a ( s i i n o r i ce l imb a j d e p ro g ramare o b iec tu a l cu

    ex cep r ia c++) to a te c l ase le mo s ten esc o c l asa d e b aza n u mi ta

    OBJE CT .

    As t fe l , t o a te o b iec te l e d in l imb a j p o t f i ech ip a te in mo dg aran ta t cu o an u mi ta fu n c t io n a l i t a t e .

    Se u su reaza imp lemen ta rea g a rb ag e co l l ec to ru lu i .

    C O NT A INER E

    - Ne c e s a re d a t o r i t a f a p tu l u i c a n u s t im d e l a d es i gn

    n u maru l d e o b iec te n ecesa re p en t ru a r ez o lv a o an u mi ta

    p r ob le ma;

    - Co n ta in e re le su n t s i ru r i d e r e fe r in ta ca t re a l t e o b iec te ;

    - E le se ex p an d eaza au to mat p en t ru a sa lv a n o i o b iec te ,

    d u p a n e c e s i t a t i ;

    -

    Av em d o u a t ip u r i d e l i s t e (Ar ray L is t s i L in k ed L is t )

    - Co n ta in e re le in Jav a su n t c rea te sa p as t r eze o b iec te d e

    t ip u l Ob jec t . -> e l e p o t sa lv a o r i ce .

    - Po t ap area ex cep t i i l a Do wn cas t , l a ru n t ime , t imp d e

    ex ecu t i e c rescu t d a to r i t a o p era t i e i d e Do wn Cas t .

    - Co n ta in e re p a ramet r i za te (Ar ray L is t sh ap e = n ew

    Array L is t( ) ; )

  • 7/26/2019 Teorie Java hatz

    10/50

    1 0

    CURS 2-3- NO T IUN I INT R ODUCT IV E J AVA

    -

    INIT IAL IZ ARE A OBIE CT E L OR

    O R GA NIZ A R EA C O DU LU I

    -

    Pen t ru f i eca re c l asa co mp i la t a se p ro d u ce u n f i s i e r

    . c l a s s ;

    - Un p ro g ram es te co mp u s d in t r -o co lec t i e d e f i s i e re . c l a ss

    -

    Aces tea p o t f i a rh iv a te : f i s i e r . j a r ;

    - Fiecare f i s i e r j av a in cep e cu men t iu n ea p ack ag e : se

    in d ica n u mele p ack ag eu lu i d in ca re v o r f ace p a r t e c l ase le

    -

    Clase le u t i l i za te ca re f ac p a r t e d in a l t p ack ag e se imp o r ta

    c u impor t

    - T o ate c l ase le d in t r -u n p ack ag e v o r f i co lec ta t e in t r -u n

    s in g u r su b d i rec to r ;

    -

    Co n v en t i e p en t ru d en u mirea p ack ag eu r i lo r : u t i l i za rea

    d o men i i lo r d e in te rn e t in o rd in e in v er sa

    - Calea ro o t p en t ru d i reco are : v a r i ab i l a sy s tem

    CL ASSPAT H

    -

    CL ASSPAT H p o a te in c lu d e d i rec to a re sau f i s i e re . j a r

    C R EA R EA O B IEC T ELO R S I C IC LU L DE V IA T A

    - Fiecare o b iec t n eces i t a r esu r se (memo r ie ) , c rea rea s i

    d i s t ru g erea o b iec te lo r d ev in imp o r tan te ;

    - Jav a u t i l i zeaza in mo d ex c lu s iv e a lo ca rea d in amica a

    m e m o r i e i ;- Pen t ru o r i ce o b iec t , t r eb u ie u t i l i za t n ew la c rea re .

    - Ob iec te le su n t a lo ca te in zo n a d e h eap

    - Dis t ru g erea o b iec te lo r e s t e r ea l i za ta au to mat d e ca t re

    g a r b a g e c o l l e c t o r ;

    - GC id en t i f i ca mo men tu l in ca re u n o b iec t n u mai e s t e

    u t i l i za t s i i l d eza lo ca .

    NU ME DE O B IEC T E R EFER INT E

    -

    Id en t i f i ca to r i i p r in ca re se man ip u leaza o b iec te l e su n t

    r e f e r i n t e c a t r e o b i e c t e- De ex : S t r in g s ; / / se c reaz a o r e fe r in ta ca t re u n o b iec t d e

    t i p s t r i n g ;

    - St r ing s = ne w S t r ing ( e xe mplu ) / / r e fe r in ta c re a te e s t e

    i n i t i a l i z a t a

    - T o ate v a r i ab i l e l e ( r e fe r in te l e ) c rea te in p ro g ram t reb u ie

    i n i t i a l i z a t e ! ! !

    O R GA NIZ A R EA MEMO R IE I IN J A V A

    -

    Z o n a Regis t ru : r eg i s t r e l e p ro ceso ru lu i , n u av em acces

    d i r e c t l a e l e- St iva : z o n a d e s t i v a m e m o r e a z a r e f e r i n t e l e c a t r e o b i e c t e ;

  • 7/26/2019 Teorie Java hatz

    11/50

    1 1

    - Heap: In aceas ta zo n a su n t a lo ca te to a te o b iec te l e ( l a

    a p e l u l n e w )

    - Spat iu de s t ocare non -RAM: Ob iec te le ca re ex i s t a in

    a fa ra sp a t iu lu i d e memo r ie a p ro g ramu lu i (p e r s i s t en ta

    o b i e c t e l o r ) ,

    T IPU R I DE DA T E

    Tipur i le pr imit ive :

    - Var iab i l e d e d imen s iu n e mica , sa lv a te d i rec t p e s t iv a ;

    - Nu n e c es i t a n ew l a a l o ca r e ;

    -

    Bo o lean , ch ar , b y te , sh o r t , i n t , l o n g , f lo a t , d o u b le s i

    v o id ;

    - Fiecare d in aces te a re u n wrap p er ty p e p en t ru co n s t ru i rea

    o b iec tu lu i d in t ip u l co r resp o n d en t ;

    -

    Au t ob o x i n g : co n v ers i e au to mata d e l a u n t ip p r imi t iv e l a

    wra ppe r : Cha ra c te r c h = x ;

    Numere de ina l t a prec iz ie

    -

    Big In teg er s i B ig Dec imal

    - Su n t v azu te ca s i c l a se d e t ip Wrap p er in sa n u au u n t ip

    p r i mi t iv e co r r esp on d e n t ;

    Sirur i ( Arrays ) in JAVA

    - JAVA: l imb a j d e p ro g ramare o r i en ta t sa fe ty ;

    -

    L a c rea rea u n u i Ar ray se c reaza u n s i r d e r e fe r in tef i e c a r e i n i t i a l i z a t a l a v a l o a r e a n u l l = > F i e c a r e m e m b r u a l

    s i r u l u i t r e b u i e i n i t i a l i z a t ;

    - JAVA n u p ermi te u t i l i za rea u n u i in d ice in a fa ra r an g e-

    u lu i a r ray -u lu i ( se a ru n ca o ex cep t i e )

    DO MENI ILE DE V IZ IB IL IT A T E IN J A V A

    - In t re o aco lad a d esch i sa s i u n a in ch i sa a v em u n d o men iu

    d e v i z i b i l i t a t e ( l a f e l c a i n C / C + + ) ;

    - Jav a d e te rmin a can d u n o b iec t n u mai e s t e r e fe r i t d e

    ca t re n ic i o r e fe r in ta d in t r -u n d o men iu d e v iz ib i l i t a t e

    v a l id => se ap e leaza g a rb ag e co l l ec to r p en t ru

    d e z a l o c a r e a m e m o r i e i ;

    CLASE! ! ! !

    - C l a s s ATypeName{ /*c las s Body * / }

    -

    C l a s e l e c o n t i n :

    Meto d e ;

    Camp u r i ;

    - Mo d u l d e accesa re a u n u i camp /meto d a :

    o b jec tRefe ren ce .memb er .

  • 7/26/2019 Teorie Java hatz

    12/50

    1 2

    - Pen t ru d a te l e d in t ip u r i p r imi t iv e se g a ran teaza

    i n i t i a l i z a r e a l a v a l o r i i m pl i c i t e ( f a l s e s i 0 ) ;

    - Meto d e , a rg u men te s i t i p d e r e tu rn :

    Ret urnType met hodName( /*argument l i s t * / )

    {

    /*Met hod Body* /

    }

    V IZ IB IL IT A T EA NU MELO R

    - P e n t r u f i e c a r e n u m e d e b i b l i o t e c i u n i c e , s - a r e a l i z a t

    co n v en t i a ca f i eca re p ro g ramato r sa i s i u t i l i zeze p ro p r iu l

    n u me d e d o men iu d e in te rn e t ca s i n u me d e b ib l io teca

    (ex : ro .u b b c lu j . eco n .g s i l ag h i )

    - Pu n c tu l in n u mele b ib l io tec i i r ep rez in ta u n su b d i rec to r

    d e p e d i s c ;

    -

    Ut i l i zarea a l t or component : INPORT: In p o r t j av a .u t i l .Ar ray L is t ; / / s e imp o r ta o c l asa ;

    Imp o r t j av a .u t i l . * ; / / s e imp o r ta to t p ack ag eu l

    j av a . u t i l .

    C U V A NT U L C HEIE S T A T IC

    - Date le memb re s i me to d e l e p o t f i accesa te d o ar su b

    ca l i f i ca rea u n u i o b iec t ex i s t en t in memo r ia p ro g ramu lu i .

    -

    Un camp sau o meto d a s t a t i c n u es t e l eg a te d e v reu n

    o b iec t an u me d in t r -o c l asa

    -

    C l a s s d a t a s a u c l a s s m e t h o d ;- Un camp s t a t i c ex i s t a o s in g u ra d a ta p en t ru o c l asa , f i i n d

    p a r t a j a t d e to a t e o b i e c t e l e c l as e i r e s p ec t i v e ;

    - Camp u r i l e s t a t i ce p o t f i r e fe r i t e p r in n u mele c l ase i ;

    - Meto d e le s t a t i ce su n t l a n iv e l d e c l asa , p o t f i r e fe r i t e

    p r in n u mel e c l as e i ( f a r a a f i n e ces a r a ex i s t e n t u nu i

    o b i e c t )

    - Meto d a main ;

    - Meto d e le s t a t i ce n u p o t accesa camp u r i /meto d e n e - s t a t i ce

    d i n c l a s a ;

    S T IL DE S C R IER E A C O DU LU I

    - Co d e co n v en t io n s fo r th e j av a l an g u ag e ;

    - Nu me l e c l a se i d i n m ai m ul t e cu v in t e c u cap i t a l i z a r e a

    f i eca ru i cu v an t d in n u me;

    - Pen t ru o r i ce a l t cev a (meto d e , camp u t i , r e fe r in te d e

    o b i e c t e ) p r i m a l i t e r a e m i c a ;

    O PER A T O R I

    - T o t i o p era to r i i p ro d u c o v a lo a re p r in ap l i ca rea lo r ;

    - E i p o t p ro d u ce s i s id e -e f fec t s (mo d i f i ca rea v a lo r i i

    o p e r a n z i l o r ) ;- Ope ra to ru l de a t r ibu i re =

  • 7/26/2019 Teorie Java hatz

    13/50

    1 3

    A=4 / / a t r ib u i rea u n e i v a lo r i d in t r -u n t ip p r imi t u n e i

    v a r i a b i l e

    Daca c s i d sunt ob iec t e , c=d; / / amb e le ( c s i d ) v o r

    re fe r i ace las i o b iec t (d ) ;

    -

    Al ias in g : l a t r an smi te rea u n u i o b iec t ca s i a rg u men t in t r -

    o meto d a , se t r an smi te o r e fe r in ta , d ec i mo d i f i ca rea

    v a lo r i i i n meto d a a fec teaza v a lo a rea o b iec tu lu i d in a fa ra

    m e t o d e i ;

    - Op era to r i i ++ s i au fo rma p o s t f ix a ta ( s imi la r cu

    C / C + + ) ;

    - Op era to r i i == s i = ! Ap l i ca t i p e r e fe r in te d e o b iec te ,

    co mp ara r e fe r in te l e , s i n u co n t in u tu l o b iec te lo r .

    - Pen t ru co mp ara rea co n t in u tu lu i o b iec te lo r , me to d a

    eq u a l s : n1 .equa ls ( n2 ) .

    -

    Pen t ru c l asa S t r in g se p o t fo lo s i + s i += ;

    C O NT R O LU L EXEC U T IE I

    -

    I f - t h e n - e l s e

    - Wh i le , d o -wh i le , fo r

    - Fo reach : p en t ru a se l ec ta u n e l emen t d in t r -u n a r ray s i a

    e f e c t u a o p r e l u c r a r e p e a c e l e l e m e n t :

    Fo reach fu n c t io n eaza p en t ru o r i ce s i r d e o b iec te

    I t e r a b i l e

    - In t re ru p erea ex ecu t i e i u n e i secv en te : r e tu rn , b reak ,

    co n t in u e ;- Swi tch : in t s t ru c t iu n ea d e se lec t i e d in mai mu l t e

    a l t e r n a t i v e .

    IN IT IA L IZ A R EA O B IEC T ELO R

    - In f i eca re c l asa se g a ran teaza in i t i a l i za rea o b iec te lo r

    p r in s c r i e rea u nu i co ns t ru ct o r ;

    - L a c rea rea u n u i o b iec t , Jav a ap e leaza au to mat

    co n s t ru c to ru l c l ase i r e sp ec t iv e ;

    - Nu me l e co n s t r u c t o ru l u i es t e i d en t i c c u n um el e c l a s e i

    -

    Co n s t ru c to ru l d e fau l t : Nu a re a rg u men te ;- Co n s t ru c to ru l n u a re t ip d e r e tu rn ;

    - Daca se c reaza o c l asa f a ra n ic i u n co n s t ru c to r ,

    co mp i la to ru l c reaza in mo d au to mat co n s t ru c to ru l

    d e f a u l t ;

    S U PR A INC A R C A R EA MET O DELO R

    - Ut i l i za rea ace lu ias n u me d e meto d a p en t ru mai mu l t e

    meto d e cu a rg u men te d i fe r i t e ;

    -

    Cu m d i fe ren t i aza Jav a in t r e meto d e le su p ra in ca rca te :

    aces te meto d e t r eb u ie sa d i fe re p r in l i s t a a rg u men te lo r ;

  • 7/26/2019 Teorie Java hatz

    14/50

    1 4

    - L a su p ra in ca rca re , p r imi t iv e le d in l i s t a d e a rg u men te

    s un p romote d c a t re t ipu r i l e ma i l a rg i

    - Meto d e le n u se p o t su p ra in ca rca p e t ip u l d e r e tu rn ;

    C U V A NT U L C HEIE th i s

    -

    In f i eca re meto d a ap e la ta , r e fe r in ta o b iec tu lu i su b ca rese ap e leaza meto d a es t e t r an smisa in meto d a su b fo rma

    r e f e r i n t e i t h i s

    - T h is p o a te f i u t i l i za t d o ar in in t e r io ru l me to d e lo r n e -

    s t a t i c e

    -

    In in te r io ru l u n e i me to d e d in t r -o c l asa , l a ap e lu l u n e i

    meto d e d in c l asa cu ren ta , n u es t e n ev o ie sa se u t i l i z eze

    t h i s .

    - T h is es t e f r ecv en t u t i l i za t in r e tu rn , p en t ru a r e tu rn a

    o b iec tu l cu ren t .

    DIS T R U GER EA O B IEC T ELO R

    - Garb ag e Co l l ec to ru l d eza lo ca memo r ia a lo ca ta p r in n ew,

    a tu n c i can d o b iec te l e n u mai su n t fo lo s i t e ;

    - Meto d a f in a l i ze ( ) : p e rmi te o p era t i i d e s t e rg e re in a in te ca

    o b iec te l e sa f i e su p u se g a rb ag e co l l ec to ru lu i ;

    - Meto d a f in a l i ze ( ) : Jav a n u g a ran teaza ap e la rea aces te i

    meto d e , p ro g ramato ru l n u a re co n t ro l a su p ra mo men tu lu i

    can d se ap e leaza g a rb ag e co lec to ru l ;

    - Daca o b iec te l e n o as t re ag reg a a l t e o b iec te , g a rb ag e

    co lec to ru l se o cu p a d e d eza lo carea o b iec te lo r ag g reg a te ;- Fin a l i ze se u t i l i zeaza in g en era l p en t ru a imp lemen ta u n

    te rmin a t io n co n d i t io n s p en t ru u n o b iec t (d e ex : in ch id e rea

    u n u i f i s i e r ) .

    S T ER GER EA C O R EC T A A O B IEC T ELO R

    - Jav a n u g a ran teaza ap e la rea meto d e i f in a l i ze l a

    d i s t ru g erea o b iec te lo r ;

    -

    Ce se in tamp la a tu n c i can d es t e n ecesa ca o b iec te l e sa f i e

    s t e r se d aca p ro g ramele se in ch e ie cu ex cep t i e? S e

    p u ne co du l de s t e r ge re i n t ro met o d a d i s po s e

    -

    Meto d a d i sp o se se ap e leaza p e c l au za f in a l ly a u n u i t ry -

    ca tch g lo b a l .

    - L a s t e rg e rea o b iec te lo r , aceas ta t r eb u ie sa se r ea l i zeze in

    o rd in e in v er sa c rea r i i o b iec te lo r => p ro g ramu l t r eb u ie sa

    se as ig u re d e aces t lu c ru .

    MO DU L DE FU NC T IO NA R E A GA R B A GE C O LLEC T O R U LU I

    - GC co lec teaza memo r ia r amasa a lo ca ta in o b iec te l e ca re

    n u mai su n t u t i l i za te s i co mp ac teaza h eap -u l , r ea ran jan do b i e c t e l e a l o c a t e

  • 7/26/2019 Teorie Java hatz

    15/50

    1 5

    - Referen ce co u n t in g : O mo d a l i t a t e d e a imp lemen t a u n

    G C :

    De ca te o r i se a so c iaza o r e fe r in ta p en t ru u n o b iec t ,

    r e fe ren ce co u n te ru l o b iec tu lu i se in c remen teaza ;

    De ca te o r i se p ie rd e o r e fe r in ta p en t ru u n o b iec t ,

    r e f e r e n c e c o u n t e r u l o b i e c t u lu i s e d e c r e m e nt e a z a ;

    GC scan eaza s i ru l d e v a r i ab i l e r e fe ren ce co u n te r s s i c

    an d in ta ln es te u n a n u la , d eza lo ca o b iec tu l r e sp ec t iv e .

    -

    Imp lemen ta rea J AVA: p en t ru u n o b iec t l i v e se p o a te

    i d e n t i f i c a o r e f e r i n t a f i e p e s t a c k f i e i n s t a t i c s t o r a g e ;

    - Sto p -an d -co p y : GC-u l o p res te p ro g ramu l , scan eaza to a te

    re fe r in te l e d e p e s t ack s i co p iaza o b iec te l e id en t i f i ca te in

    n o u l h eap . Cee ace r aman e e g a rb ag e-u l ca re t rb u ie

    d eza lo ca t , i a r n o u l h eap e d e ja co mp ac ta t .

    IN IT IA L IZ A R EA DA T ELO R MEMB R E:- Ut i l i za rea u n e i v a r i ab i l e lo ca le n e in i t i a l i za te => e ro are

    d e co mp i la re ;

    -

    Orice d a ta memb ra a u n e i c l ase , d ac a es t e d e t ip

    p r imi t iv e , se ga r a n t e az a in i t i a l i z a r e l a v a l o ar e a

    i m p l i c i t a .

    - Ob iec te le memb er n e in i t i a l i za te , v o r av ea v a lo a rea n u l l

    -

    S p e c i f i c a r e a v a l o r ii d e i n i t i a l i z a re :

    L a mo men tu l d e f in i r i i v a r i ab i l e i p r imi t iv e p r in

    as ig n area cu o v a lo a re ;

    L a mo men tu l d e f in i r i i v a r i ab i l e i n o n -p r imi t iv e , p r inn ew.

    - In i t i a l i za rea d a te lo r memb er p r in co n s t ru c to r

    - Ord in ea d e in i t i a l i za re a d a te lo r memb er : o rd in ea in ca re

    a c e s t e a s u n t d e f i n i t e i n c l a s a ;

    - In i t i a l i za rea d a te lo r s t a t i ce a re lo c d o ar d aca aces tea

    su n t n ecesa r d e a f i u t i l i za te ;

    - O b i e c t e l e s t a t i c e s u n t i n i t i a l i z a t e i n a i n t e a c e l o r n o n -

    s t a t i ce , d aca e l e n u au fo s t u t i l i za te p an a a tu n c i .

    PR O C ES U L C R EA R I I U NU I O B IEC T :- Presu p u n em ca av em o c l asa Do g ;

    - Pr ima d a ta can d u n o b iec t d e t ip Do g es t e c rea t , JVM

    l o c a l i z e a z a p e d i s c f i s i e r u l D o g .c l a s s s i i l i n c a r c a ;

    -

    L a i n c a r c a r e D o c . c l a s s , s e i n i t i a l i z e az a t o t i m e m b r i s t a t i c

    - L a n ew Do g ( ) se a lo ca memo r ie p e h eap p en t ru n o u l

    o b iec t , aceas t a zo n a d e memo r ie se u mp le cu 0

    ( p r i m i t i v el e s u n t i n i t i a l i z at e l a v a l o a r e a i m p l i c i t a )

    -

    Se rea l i zeaza to a ta in i t i a l i za r i l e ex p l i c i t e l a mo men tu l

    d e f i n i r i d a t e l o r m e m b e r

    -

    Se ex ecu ta co n s t ru c to ru l ;

  • 7/26/2019 Teorie Java hatz

    16/50

    1 6

    B LO C U L S T A T IC

    - St a t ic { /* in i t ia l i zar i* / }

    -

    Blo cu l s t a t i c e s t e ap e la t o s in g u ra d a ta , l a p r ima c rea re a

    u n u i o b iec t d in c l asa r esp ec t iv e sau l a ap e lea rea u n e i

    m e m b e r s t a t i c e d i n a c e a c l a s a ;

    -

    B l o c u l s t a t i c p o a t e s a i n i t i a l i z e z e d o a r d a t e s t a t i c e

    IN IT IA L IZ A R E PR IN B LO C NO N-S T A T IC

    - { / * o p e r at i i * / } ; / / f a r a s t a t i c i n a i n t e ;

    - I n t r e a c c o l a d e s e s p e c i f i c a o p e r a t i i d e i n i t i a l i z a r e c a r e

    t reb u ie e f fec tu a te in d i f fe ren t d e ca re co n s t ru c to r e s t e

    a p e l a t ;

    - Blo cu l n o n -s t a t i c d e in i t i a l i za re es t e n ecesa r p en t ru a se

    p e rm i t e d e f in i re a c l a se lo r in t e r n e a no n im e .

    IN IT IA L IZ A R EA S IR U R ILO R- Si ru r i l e su n t d e f in i t e p r in o p era to ru l d e in d ex are : in t [ ] a ;

    -

    Pen t ru a se c rea sp a t iu d e memo r ie p en t ru s i r , s i ru l

    t r e b u i e i n i t i a l i z a t ;

    - Fiecare s i r a re u n memb ru in t r i sec : l en g th ( lu n g imea

    s i r u l u i ) ;

    -

    E lemen te le su n t in d ex a te d e l a 0 l a l en g th -1 ;

    - In t eger [ ] a= new in t eger [ rand .nex t Int ( 20 )] ; / / s e c r e a z a

    d o ar u n s i r d e r e fe r in te , f i eca re d in e l e t r eb u ie ap o i

    in i t i a l i za te , d e ex : a [ i ]=ran d .n ex t In t (5 0 0 ) ;

    C O NT R O LU L A C C ES U LU I C l ase

    -

    Pack ag e : c l ase g ru p a te imp reu n a in t r -u n s in g u r sp a t iu d e

    n u me lo g ic ;

    - Orice c l asa d in t r -u n p ack ag e p o a te f ace r e fe r i r e d i rec ta

    l a o a l t a c l a s a d i n a c e l a s i p a c k a g e ;

    - P e n t r u a c c e s a r e a c l a s e l o r d i n a l t e p a c k a g e - u r i s e

    u t i l i z e a z a i m p o r t

    - L ip sa d e f in i t i e i d e p ack ag e : p ack ag e-u l d e fau l t ;

    Nu s e r ec om an d a u t i l i z a r e a a ce s t u i a ;

    -

    S p e c i f i c a t or u l d e a c c e s p u b l i c l a c l a s e ; Pen t ru a p u tea f i r e fe r i t a d in a fa ra p ack ag eu lu i ;

    - Clase le f a ra sp ec i f i ca to r d e acces : n u p o t f i r e fe r i t e d in

    a f a r a p a c k a g e - u l ui .

    C O NT R O LU L A C C ES U LU I Me mbr i i C l ase l or

    - Pu b l i c :

    M e m b r i i p u b l i ci p o t f i r e f e r i t i d i n a f a r a c l a s e l o r ;

    S p e c i f i c a i n t e r f a t a c l a s e l o r ;

    -

    P r i v a t e :

    Po t f i r e fe r i t i d o ar d in in te r io ru l c l ase lo r d e d e f in i re ;

    S p e c i f i c a i n t e r f a t a c l a s e l o r ;

    -

    Fara sp ec i f i ca to r d e acces acces p ack ag e ;

  • 7/26/2019 Teorie Java hatz

    17/50

    1 7

    Po t f i r e fe r i t i d in c l ase le p ack ag e-u lu i cu ren t ;

    -

    Pro tec ted : fo lo s i t i n co n tex tu a l mo s ten i r i i .

  • 7/26/2019 Teorie Java hatz

    18/50

    1 8

    CURS 4.

    R EA LIZ A R EA C LA S ELO R

    - COMPOZ IT IE ;

    - MOST E NIRE ;

    -

    AL E GE RE A INT RE MOST E RNIRE S I COMPOZ IT IE-

    ME CANISMUL DE UPCAST

    REUTILIZAREA CODULUI:- In seamn a mai mu l t d eca t co p y -p as te co d

    - Op era t i i p r in c ip a le : Co mp o z i t i e s i Mo s ten i re ;

    -

    Sin tax a co mp o z i t i e i : se p laseaza o r e fe r in ta ca t re u n

    o b iec t n o u in t r -o c l asa n o u a ;

    - Refer in te l e n o u c rea te se in i t i a l i zeaza l a v a lo a rea n u l l ->

    t r e b u i e i n i t i a l i z a t e e x p l i c i t ;

    -

    Meto d a to S t r in g : mo s ten i t a d e l a c l asa Ob jec t : se

    p e rm in te co n v e r t i r ea ob i ec tu l u i i n t r -u n o b i e c t S t r in g

    ( n e c e s a r p e n t r u t i p a r i r e )

    IN IT IA L IZ A R EA R EFER INT ELO R LA R EA L IZ A R EA C O MPO Z IT IE I

    - I n i t i a l i z a r e a s e p o a t e r e a l i z a i n 4 m o d u r i :

    1 . L a mo men tu l d e f in i r i i o b iec tu lu i i n i t i a l i z a r e a s e f a c e

    in a in te d e ap e la rea co n s t ru c to ru lu i ;

    2 . In co n s t ru c to r ;

    3 . Ch ia r in a in te d e u t i l i za rea o b iec tu lu i ( l azy

    i n i t i a l i z a t i o n )4 . In s t an ce in i t i a l i za t io n i n b lo c n o n -s t a t i c d e

    i n i t i a l i z a r e :

    S INT A XA MO S T ENIR I I :

    - M o s t e n i r e a s e r e a l i z e az a o r i d e c a t e o r i s e c r e a z a o c l a s a :

    Se mo s ten es te d in OBJE CT ;

    - Mo sten i re : c l asa n o u a se aseaman a cu c l asa v ech e :

    cu v an tu l ch e ie ex ten d s ;

    -

    Clasa n o u a v a p re lu a au to mat to a te camp u r i l e s i me to d e le

    d i n c l a s a d e b a z a

    - Reg u la n esc r i sa l a mo s ten i re : Camp u r i l e d in c l ase le d e

    b az a s e s c r i u p r i v at e i a r m e t od e le s e l a s a p ub l i c ( sa u

    p r o t ec t e d)

    - Clasa d e r iv a te , p en t ru a se ap e l a o meto d a d in c l asa d e

    b az a s e po a t e u t i l i z a s u p e r

    -

    Real i za rea mo s ten i r i i : l a c rea rea o b iecu lu i d in c l asa

    d er iv a te , se c reaz a u n su b o b iec t d in c l asa d e b aza (ca s i

    c u m a r f i r e a l i z a t a o c o m p o z i t i e c a t r e a c e s t a )

    -

    In i t i a l i za rea su b o b iec tu lu i d in c l asa d e b aza : d o ar p r in

    c o n s t r u c t o r ;

  • 7/26/2019 Teorie Java hatz

    19/50

    1 9

    - Co n s t ru c to ru l c l ase i d e b aza es t e ap e la t in to td eau n a

    in a in tea co n s t ru c to ru lu i c l ase i d e r iv a te

    - Pen t ru ap e l a l co n s t ru c to ru lu i c l ase i d e b aza cu

    a r g u m e n t e :

    Super ( argument e )

    I S -A vs I s -L i ke -A

    - Rela t i a d e mo s ten i re d e t ip i s -a : c l a sa d e r iv a te d o ar

    s u p r a s c r i e i n t e r f a t a c l a s e i d e b a z a ;

    -

    R e l a t i a d e m o s t e n i r e d e t i p i s - l i k e - a : c l a s a d e r i v a t e

    co n t in e meto d e su p l imen ta re f a t a d e c l asa d e b aza

    - Rela t i a d e su b s t i tu t i e :

    L a o re l a t i e d e t ip i s -a su b s t i tu t i a e s t e p u ra : o r i ce

    mesa j t r im is c l ase i d e r iv a te p o a te f i o mis s i t r im is

    c lase i d e b aza ( r ezo lv a rea mesa ju lu i se f ace p r inu p c a s t )

    L a o re l a t i e d e t ip i s - l ik e -a : p a r t ea ex t in sa d in c l asa

    d er iv a te n u mai e s t e d in sp o n ib i l a p r in u p cas t (p r in

    a d r e s a r e a c l a s e i d e b a z a )

    - Do wn cas t : o p era t i a in v er sa u p cas t n u es t e o o p era t i e

    g aran ta ta , i n sen su l in ca re n u s t im ex ac t c l asa d e r iv a te

    c a t r e c a r e s e f a c e d o w n c a s t ;

    - Jav a v e r i f i ca o r i ce co n v ers i e (cas t ) , s i d aca n u se p o a te

    rea l i za se a ru n ca o ex cep t i e d e t ip u l C lassCas tE x cep t io n

    O PER A T IA DE DELEGA R E

    - O p e r a t i e i n t e r m e d i ar a i n t r e c o m p oz i t i e s i a g r e g a r e

    - In t r -o c l asa se p laseaza u n o b iec t memb ru d in a 2 -a

    c lasa , i a r c l asa n o u a v a ex p u n e to a te meto d e le fu rn iza te

    d e o b iec tu l d in c l asa a 2 -a

    -

    Pen t ru r eu t i l i za rea o p era t i i lo r d e mo s ten i re / co mp o z i t i e ,

    e s t e su f f i c i en t ca sa se imp o r te c l ase le r eu t i l i za te (co d u l

    lo r su r sa n u es t e n ecesa r )

    A S C U NDER EA NU MELO R LA MO S T ENIR E

    -

    L a su p rasc r i e rea u n e i me to d e , su p ra in ca rca te d in c l asa d e

    b az a , num el e c a r e s u n t s up r a i n ca rc a t e d in c l as a d e b az a

    n u d ev in ascu n se ! ! !

    - Su p ra in carca rea fu n c t io n eaza in d i f fe ren t u n d e es t e ea

    r e a l i z a t a : i n c l a s a d e b a z a s a u i n c e a d e r i v a t e

    A LEGER EA INT R E C O MPO Z IT IE S I MO S T ENIR E

    -

    Co mp o z i t i a se a l l eg e a tu n c i can d in te r fa t a c l ase i d e b aza

    n u se d o res te a f i ex p u sa in c l asa d e r iv a te ;

    - Co mp o z i t i a se f ace , d e o b ice i p r in ag reg are p r iv a te ;

    -

    Mo sten i rea se fo lo ses te a tu n c i can d in te r fa t a c l ase i d eb az a s e do r es t e p re l u a t a s i ex p us a i n c l a sa d e r i v a t e

  • 7/26/2019 Teorie Java hatz

    20/50

    2 0

    - Pro tec ted : fu n c t io n eaza ca s i p r iv a te in a fa ra i e ra rh ie i ;

    -

    Up cas t : Ob iec te l e d in t ip u l c l ase i d e r iv a te su n t in ace las i

    t i m p s i d i n t i p u l c l a s e i d e b a z a

    FINAL

    -

    I t emi i f in a l i : n u p o t f i sc t imb a t i (d e ex emp lu in t r -o c l asa

    d e r i v a t a )

    - D a t e l e f i n a l :

    Co n s tan te l a co mp i la re ca re n u se sch imb a u l t e r io r

    Valo r i in i t i a l i za te l a ru n t ime ca re n u se d o res te sa f i e

    s c h i m b a t e ;

    Sta t i c f in a l : au o s in g u ra lo ca t i e d e s to ca re a d a te i .

    -

    Fin a l ap l i ca t l a o r e fe r in ta : f ace r e fe r in ta co n s tan ta ,

    v a lo a rea o b iec tu lu i p o a te f i mo d i f i ca ta

    - Blan k f in a l : camp u r i d ec la ra te f in a l ca re n u su n t

    i n i t i a l i z a t e - > e s t e t r e b u i e i n i t i a l i z at e i n a i n t e d e

    u t i l i z a r e ;

    -

    Arg u men te f in a l : i n meto d an u se p o a te sch imb a v a lo a re a

    c a t r e c a r e a r a t a r e f e r i n t a ;

    - Meto d e f in a l : n u p o t f i sch imb a te p r in mo s ten i re ;

    -

    Meto d e le f in a l su n t t r a t a t e in l in e d e ca t re co mp i la to r ;

    -

    C l a s e f i n a l : s e i n h i b a m o s t e ni r e a d i n c l a s a r e s p e c t i ve ;

    MEC A NIS MU L U PC A S T

    - Aso c ie rea d in t re n u mele meto d e i s i co rp u l me to d e i

    l eg a re (b in d in g )-

    E ar ly b in d in g : a tu n c i can d l eg area se f ace l a co mp i la re ;

    - L ate b in d in g : a tu n c i can d l eg area se f ace l a ex ecu t i e ,

    ex ac t in a in te d e ex ecu t i a e fec t iv a a meto d e i .

    - L ate b in d in g : n eces i t a u n mecan i sm p en t ru id en t i f i ca rea

    t ip u lu i l a ex ecu t i e RT T I p en t ru a se id en t i f i ca in mo d

    co r rec t co rp u l me to d e i ca re t r eb u ie ap e la t

    - In Jav a se u t i l i zeaza l a t e b in d in g p en t ru o r i ce ap e l d e

    meto d a , cu ex cep t i a meto d e lo r s t a t i c s i f in a l (p r iv a te e

    imp l ic i t f in a l p t ca o meto d a p r iv a te n u p o a te f i

    m o s t e n i t a )- De ce e n ev o ie sa d ec la ram o meto d a f in a l? Pen t ru a

    in h ib a l a t e b in d in g (c res t e e f i c i en ta l a ex ecu t i e )

    - C a m p u r i l e s i e l e m e n t e l e s t a t i c s u n t r e z o l v a t e l a

    c o m p i l a r e

    - L e g a r e a c o n s t r u c t or i l o r e s t e r e a l i z a t a l a c o m p il a r e

    DO WNC A S T

    -

    Do wn cas t : o p era t i a in v er sa u p cas t n u es t e o o p era t i e

    g aran ta ta in sen su l in ca re n u s t im ex ac t c l asa d e r iv a te

    c a t r e c a r e s e f a c e d o w n c a s t- Do wn cas t t r eb u ie r ea l i za t ex p l i c i t d e ca t re p ro g ramato r

  • 7/26/2019 Teorie Java hatz

    21/50

    2 1

    - Jav a v e r i f i ca o r i ce co n v ers i e ( cas t ) , s i d aca n u se p o a te

    rea l i za se a ru n ca o ex cep t i e d e t ip u l C lassCas tE x cep t io n

    O R DINEA DE A PELA R E A C O NS T R U C T O R ILO R

    - In cazu l o b iec te lo r co mp lex e (cu mo s ten i re ) , o rd in ea d e

    ap e la re a co n s t ru c to r i lo r e s t e :1 . Se ap e leaza co n s t ru c to ru l c l ase i d e b aza . Ap e lu l e s t e

    recu rs iv e , p an a l a v a r fu l i e ra rh ie i ( co n s t ru c to ru l t ip u lu i

    d in v a r f e s t e ap e la t p r imu l )

    2 . Se in i t i a l i zeaza memb r i i c l a se i in o rd in ea d ec la ra r i i

    a c e s t o r a ;

    Se ap e leaza co rp u l co n s t ru c to ru lu i c l ase i d e r iv a te ;

    - Ce se in tamp la d aca in co n s t ru c to r se ap e le aza o meto d a

    p r e su p u sa a s e l e ga d yn a mi c?

    In co n s t ru c to r se ap e leaza ex c lu s iv e meto d asu p rasc r i sa ( cea d in c l asa cu co n s t ru c to ru l l e g a r e a

    es te d e t ip ea r ly )

    -

    Co v ar ian t r e tu rn ty p es :

    O meto d a su p rasc r i sa d in t r - l c l a sa d e r iv a te p o a te

    re tu rn a u n t ip d e r iv a t d in t r -u n t ip r e tu rn a t d e met o d a

    d i n c l a s a d e b a z a ( c a r e e s t e s u p r a s c r i s a. )

  • 7/26/2019 Teorie Java hatz

    22/50

    2 2

    CURS 5

    In te r fe te

    Cu p r in s :

    CL ASE ABST RACT E

    INT E RFE T E

    DE SIGN PAT T E RNUL ST RAT E GY SI ADAPT E R

    DE SIGN PAT E RNUL FACT ORY

    C LA S E A B S T R A C T E

    -

    Ro lu l c l ase i In s t ru men t (v a r fu l i e ra rh ie i ) : sa c reeze o

    in te r fa t a co mu n a c lase lo r d e r iv a te (meto d a p lay d in

    In s t rume n t e s t e dummy ) => ob ie c te le d in c l a s a

    i n s t ru men t n u au sen s (d in p u n c t d e v ed ere lo g ic ) =>c l a s a i n s t r u m e n t e s t e o c l a s a a b s t r a c t a

    -

    Pen t ru a E v i t a a s t f e l d e e ro r i l a ex ecu t i e (c rea rea d e

    o b iec te d in t r -u n as t f e l d e t ip ) ex i s t a u n mech an i sm p r in

    c a r e s e d e c l a r a c l a s e l e a b s t r a c t e ( s i c a r e v e r i f i c a l a

    co mp i la re ) : cu v an tu l ch e ie ab s t rac t

    -

    Clasa ab s t rac ta a re ce l p u t in o meto d a ab s t rac ta (meto d a

    d e c l a r a t a a b s t r a c t a s i c a r e n u a r e c o r p )

    - Se g en ereaza e ro a re l a co mp i la re d aca se in cea rca

    c r e a r e a u n u i o b i e c t d i n t r - o c l a s a a b s t r a c t a

    -

    L a mo s ten i re d in t r -o c l asa ab s t rac ta , me to d a ab s t rac tat r eb u ie su p rasc r i sa , a l t f e l c l a sa d e r iv a te d ev in e s i ea

    a b s t r a c t a .

    C O NC EPT U L DE INT ER FA T A

    -

    In c l asa ab s t rac ta se fu rn izeaza o p a r t e d in in te r fa t a i a r

    imp lemen ta rea aces te i a e s t e l a sa ta p e seama c lase lo r

    d e r i v a t e

    - Cu v an tu l ch e ie in t e r face : p ro d u ce o c l asa ab s t rac ta f a ra

    n ic i o imp lemen ta re d e meto d e

    -

    Orice co d e ca re u t i l i zeaza o an u me in te r fa t a v a s t i cemeto d e se p o t ap e la ( s i d o ar a t a t )

    -

    In te r fe te le pe rmi t r e a l i z a re a mos te n i r i i mu l t ip le

    - In te r fe t e l e p o t co n t in e camp u r i : aces tea su n t imp l i c i t

    s t a t i c s i f i n a l

    - Imp lemen ta rea u n e i in t e r fe t e : cu v an tu l ch e ie imp lemen t s

  • 7/26/2019 Teorie Java hatz

    23/50

    2 3

    DES IGN PA T T ER NU L S T R A T EGY

    - Crearea u n e i me to d e ca re sa a ib a co mp o r tamen t d i fe r i t i n

    f u n c t i e d e t i p u l a r g u m e n t ul u i c a r e s e p r e z i n t a l a i n t r a r e

    Meto d a co n t in e o p a r t e f ix a ca re es t e ap e la t a d e

    f i e c a r e d a t a s i o p a r t e c a r e v a r i a z a ( s t r a t e g i a )

    -

    In cazu l In ca re n u se u t i l i zeaza in te r fe t e , d aca d o r im sa

    ap l i cam meto d a ( s t r a t eg ia ) u n u i o b iec t d in t r -o c l asa ca re

    n u face p a r t e d in i e ra rh ie , n u se p o a te . => in ex emp lu l

    Ap p ly s i P ro cesso r , ex i s t a o cu mp la re fo a r t e p u te rn ica

    i n t r e m e t o d a A p p l y . pr o c e s s i c l a s a P r o c e s o r , a s t f e l i n c a t

    aceas ta meto d a n u p o a te f i ap l i ca ta d eca t o b iec te lo r d in

    ie ra rh ia p ro cesso r , s i n i c id ecu m a l to r o b iec te d in a l t e

    i e r a r h i i .

    - P r o c e s o r s e c r e a z a c a s i o i n t e r f a t a , i a r c l a s e l e c a r e

    d o resc sa f aca p a r t e d in s t r a t eg ie v o r imp lemen ta

    i n t e r f a t a s c r i s a .

    DES IGN PA T T ER NU L A DA PT ER

    - Ce se in tamp la in cazu l in ca re d o r im sa u t i l i za m in

    s t r a t e g i e o c l a s a i m p o r t a t a d i n t r - o a l t a b i b l i o t e c a?

    - Des ig p a t t e rn u l Ad ap te r : se sc r i e co d ca re p re ia l a in t r a re

    in te r fa t a ex i s t en t s i ca re sa p ro d u ca in te r fa t a d e ca re es t e

    n ev o ie in p ro g ram

    -

    Pr in d ecu p la rea in te r fe t e i d e imp lemen ta re se p e rmi te ca

    o in te r fa t a sa f i e ap l i ca ta mai mu l to r imp lemen ta r i , d ec i

    co d u l d ev in e mai f ac i l d e r eu t i l i za t .

    MO S T ENIR EA MU LT IPLA

    - In j av a se p o a te ex t in d e o s in g u ra c l asa s i se p o t

    i m p l e m e nt a o r i c a t e c l a s e

    - Ro lu l in t e r fe t e lo r : sa se p o a ta f ace u p cas t l a ma i mu l t

    d e c a t o c l a s a d e b a z a

    -

    Daca se p o a te c rea o c l asa d e b aza fa ra d e f in i t i i d e

    meto d e s i v a r i ab i l e memb er , se r eco man d a sa se c reeze

    i n t e r f e t e i n l o c u l c l a s e l o r a b s t r a c t e

    -

    In te r fe t e l e se p o t co mb in a( se ex ten d in te r fe t e l e l a f e l cas i c l a s e l e )

    - Co l iz iu n ea n u melo r l a imp lemen ta rea mai mu l to r

    in te r fe t e (d aca in te r fe t e l e d e b aza au ace las i n u me d e

    meto d a cu semn atu r i d i f e r i t e ) : e s t e o p ro b lema d aca

    meto d e le d i fe ra d o ar p r in t ip d e r e tu rn => e ro ar e l a

    c o m p i l a r e .

    - Camp u r i l e ca re su n t in se ra te in t r -o in te r fa t a d ev in in

    mo d au to mat s t a t i c s i f in a l => rep rez in ta u n mo d

    co n v en ab i l p en t ru a d e f in e co n s tan t ( s imi la r cu en u m)

    -

    Camp u r i l e d e f in i t e in in t e r f e t e n u p o t f i b l an k f in a l s , e l et r e b u i e i n i t i a l i z a t e l a d e f i n i r e .

  • 7/26/2019 Teorie Java hatz

    24/50

    2 4

    DES IGN PA T T ER NU L FA C T O R YMET HO D

    - Ro lu l u n e i in t e r fe t e : sa p e rmi ta imp lemen ta r i mu l t ip le

    p e n t ru d i v e r s e c l as e

    - Des ig n p a t t e rn u l Fac to ry : in lo c sa se ap e lez e u n

    co n s t ru c to r in mo d d i rec t , p en t ru c rea rea u n u i o b iec t s e

    a p e l e a z a o m e t o d a d e c r e a r e a o b i e c t u l u i d i n t r - o c l a s a

    Fac to ry . C lasa Fac to ry imp lemen teaza o in te r fa t a ca re

    s p e c i f i c a m e t o d a d e c r e a r e .

    - Ast fe l , se p o a te sch imb a l a ru n t ime o imp lemen ta re a

    u n e i fu n c t io n a l i t a t i cu a l t a .

  • 7/26/2019 Teorie Java hatz

    25/50

    2 5

    CURS 6

    C LA S E INT ER IO A R E

    INNER C LA S S ES

    - S e p l a s e a z a c l a s e i n i n t e r i o r u l a l t o r c l a s e

    -

    In n er c l asses r ep rez in ta u n co n cep t d i f e r i t d e co mp o z i t i e

    - De o b ice i , c l a sa ex te r io a ra a re o meto d a ca re r e tu rn eaza

    u n o b i e c t d i n c l a s a i n e e r .

    - T ip u l o b iec tu lu i d in c l asa in te r io a ra se sp ec i f i ca p recu m:

    Ou te rC lass . In n erC lass

    - Ob iec tu l c l ase i in t e r io a re a re u n l in k ( re fe r in ta ) ca t re

    o b i e c t u l c l a s e i e x t e r i o a r e c a r e l - a c r e a t ! ! !

    -

    Ob iec tu l c l ase i in t e r io a re p o a te accesa memb r i i

    o b i e c t u l ui c l a s e i e x t e r i o a r e f a r a c a s a f i e n e v o i e d e

    ca l i f i ca re (d rep tu l d e a accesa es t e a su p ra tu tu ro r

    o b i e c t e l o r m e m br e a l e c l a s e i e x t e r i o a r e )

    - Pen t ru a se o b t in e r e fe r in ta l a o b iec tu l c l ase i ex te r io a re

    (d in o b iec tu l c l ase i in t e r io a re ) se u t i l i zeaza

    Ou te rT y p e . th i s

    - Pen t ru a c rea u n o b iec t d in c l asa in n er p o rn in d d e l a u n

    o b i e c t d i n c l a s a o u t e r s e p o a t e u t i l i z a o b i e c t . Ou t e r . n e w

    - Clase le in n er su n t p o t r iv i t e p en t ru a imp lemen ta

    i n t e r f e t e : s e r e a l i z e a z a a s c u n d e r e a i m p l e m e n t a ri i .

    - Clase le in t e r io a re p o t f i c rea te in t r -o meto d a sau

    d o men iu d e v iz ib i l i t a t e d eo arece :

    S e i m p l e m e n t e a z a o i n t e r f a t a , d e c i s e p o a t e c r e a s i

    r e tu rn a o r e fe r in ta l a aceas ta (u p cas t )

    Se rezo lv a o p ro b lema co mp l ica ta s i d o r im sa c reem o

    c lasa ca re sa n e a ju te l a r ez o lv a rea p ro b lemei , d a r n u

    d o r im ca aceas ta sa f i e p u b l i ca .

    - Clasa in te r io a ra p o a te f i accesa ta d o ar d in in te r io ru l

    meto d e i ( sau d o men iu lu i d e v iz ib i l i t a t e ) u n d e a fo s t

    c r e a t a ,

    C LA S E INT ER IO A R E A NO NMIE .

    - Su n t c l ase in te r io a re f a ra n u me (c lase c rea te d i rec t l a

    mo men tu l u t i l i za r i i l o r )

    -

    Fin a l i zeaza co n s t ru c t i a in s t ru c t iu n i i ca re co n t in e

    d ef in i t i a c l ase i an o n ime

    - Camp u r i l e d in c l ase le an o n ime p o t f i i n i t i a l i za te cu

    v a lo r i d in a fa ra (d in d o men iu l u n d e se c reaza c l asa )

    -

    Daca in t r -o c l asa an o n ima se d o res te a f i u t i l i za t u n

    arg u men t ( sau o v a lo a re ) d e f in i t i a in a fa ra aces te i a ,

    a t u n c i r e f e r i n t a a c e s t e i a t r e b u i e s a f i e f i n a l .

  • 7/26/2019 Teorie Java hatz

    26/50

    2 6

    - Clase le an o n ime n u p o t av ea co n s t ru c to r , d a r

    i n i t i a l i z a r i i l e s e p o t r e a l i z a i n b l o c u l n o n - s t a t i c d e

    i n i t i a l i z a r e .

    - Clase le in t e r io a re p o t f i c rea te s t a t i c (n es ted . c l ases ) d aca

    n u se d o res te u t i l i za rea r e fe r in te i o b iec tu lu i ex te r io r in

    i n t e r i o r ul c l a s e i i n n e r .

    - C l a s e l e i n t e r i o a r e p a r t e a u n e i i n t e r f e t e d e v i n a u t o m a t

    s t a t i c p u b l i c . Ro l : c rea r ea d e co d co mu n ca re sa f i e

    u t i l i z a t d e t o a t e i m p l e m en t a r i i l e i n t e r f e t e i .

    - Orica t d e ad an ca es t e imb r ica rea c l ase lo r n es ted , aces tea

    p o t a cc es a ob i e c te m em b re d in c l as e l e ex t e r i o a r e ,

    in d i fe ren t d e n iv e lu l d e imb r ica re .

    DE C E C LA S E INNER

    -

    Fiecare c l as a in n er p o a te in mo d in d ep en d en t sa

    mo s ten easca d e l a o a l t a imp lemen ta re . Dec i o c l asain n er n u es t e l im i ta t a d e f ap tu l ca c l asa ex te r io a ra

    mo s ten es te sau n u o imp lemen ta re .

    -

    Clasa in te r io a ra p o a te av ea in te r fe t e mu l t ip le , f i eca re cu

    p r op r i a s t a r e , c a r e e s t e i nd e p en d en t a d e s t a re a o b i e c tu lu i

    d i n c l a s a e x t e r i o a ra .

    - O s in g u ra c l asa ex te r io a ra p o a te av ea mai mu l t e c l ase

    in te r io a re f i eca re imp lemen tan d aceas i in t e r fa t a sau

    mo s ten in d d in aceas i c l asa in mai mu l t e f e lu r i .

    - L a mo men tu l c rea r i i o b iec tu lu i d in c l asa in n er , aces ta n u

    es te l eg a t d e c rea rea o b iec tu lu i d in c l asa o u te r .- In n er C lass e s t e o c l asa to ta l d i f e r i t a d e c l asa ex te r io a ra ,

    n u ex i s t a co n fu z ie d e t ip u l i s - a .

    C LO S U R ES & C A LLB A C K S

    - Clo su re : u n o b iec t ap e lab i l ca re r e t in e in fo rmat i e d esp re

    d o men iu l d e v iz ib i l i t a t e in ca re a fo s t c rea t ( a re acces l a

    v ar i ab i l e l e d in d o men iu l d e v iz ib i l i t a t e u n d e a fo s t c rea t )

    => c lasa in te r io a ra es t e u n c lo su re (d eo arece a re o

    re fe r in ta ca t re o b iec tu l ex te r io r s i p o a te sa acceseze

    i n c l u s i v m e m b r i i p r i v a t i a i c l a s e i e x t e r i o a r e ) .- Cal lb ack : Un o b iec t p r imes te o in fo rmat i e ca re v a

    p e rm i t e s a ap el am o b i e c t u l in i t i a l l a un m om en t u l t e r i o r

    d e t imp .

    -

    Cal lb ack se imp lemen teaza cu c l ase in te r io a re .

    - Clasa d e t ip C lo su re fu rn izeaz a o p o ar t a in in t e r io ru l

    c l ase i ex te r io a re (d a r in t r -u n mo d se i f n u se n eces i t a ca

    s a t r a n s f o r m a m a c c e s u l l a m e t o d e l e a c e s t e i c l a s e )

    -

    De ce ca l lb ack s? L a ex ecu t i e , se p o a te sch imb a meto d a

    care es t e ap e la t a in mo d d in amic

  • 7/26/2019 Teorie Java hatz

    27/50

    2 7

    C O NT R O L FR A MEWO R K S

    - Ap p l ica t io n f r amewo rk : u n se t d e c l ase p ro iec ta t e sa

    rezo lv e u n t ip an u me d e p ro b lema (d es ig n p a t t e rn u l

    T emp la te Meth o d )

    - Pen t ru ap l i ca rea ap p l i ca t io n f r amewo rk se mo s ten esc d in

    c lase le d e b aza s i se sch imb a imp lemen ta rea p r in

    o v er r id in g .

    - Co d u l su p rasc r i s e s t e ce l ca re cu s to mizeaza so lu t i a l a

    c a z u l p a r t i c u l a r ;

    -

    T emp la te Meth o d : co n t in e s t ru c tu ra d e b aza a

    a lg o r i tmu lu i , i a r p a r t i l e sp ec i f i ce su n t ap e lu r i l a me to d e

    care p o t f i o v er r id e .

    - Ast fe l se sep ara p a r t i i l e n esch imb a te a l e a lg o r i tmu lu i d e

    c e l e f l e x i b i l e ;

    -

    Co n t ro l f r amewo rk : u n t ip p a r t i cu la r d e ap p l i ca t io n

    f ramewo rk p r in ca re s i s t emu l r asp u n d e l a ev en imen te

    g en era te ( s i s t em ev en t -d r iv en ) - de e xe mplu GUIs

    -

    In imp lemen ta rea Co n t ro l F ramewo rk , in n er c l ass su n t

    u t i l i za te p en t ru a ex p r ima d iv e r se le ac t iu n i . (me to d a

    a c t i o n )

    MO S T ENIR E D IN C LA S E INNER

    - L a mo s ten i re d in t r -o c l asa in n er , t r eb u ie fu rn iza t l a

    co n s t ru c t i a o b iec t u lu i u n o b iec t d in c l asa in n er , p en t ru a

    se p e rmi te co n s t ru i rea su b -o b iecu lu i

    c l . b aza (ecn lo s in g ClassRefe ren ce . su p er ( ) )- Clase le lo ca le u n u i d o men iu d e v iz ib i l i t a t e au acces l a

    to a te v a r i ab i l e l e d o men iu lu i r e sp ec t iv ( in c lu s iv ce l f in a l ) ,

    i n s a a c e s t e c l a s e n u a u s p e c i f i c a t o r d e a c c e s .

  • 7/26/2019 Teorie Java hatz

    28/50

    2 8

    CURS 7

    C O LEC T I I , EXC EPT I I

    Si ru r i l e d e o b iec te ( a r ray s ) : r ep rez in ta ce l ma i e f i c i en t mo d

    p e n t ru a p as t r a o b ie c t e .

    Ne a j u ns : Au d im ens i u n ea f ix a t a l a com pi l a r e

    - Jav a .u t i l c l a se co n ta in e re : L i s t , Se t , QUE UE , Map

    - Pre- Jav a SE 5 : co n ta in e re le j av a p o t memo ra o r i ce t ip d e

    o b iec te , d ec i p o t ap area e ro r i

    -

    De ex emp lu : Ar ray L is t a re meto d e ad d s i g e t d e f in i t e

    u t i l i zan d c lasa o b jec t .

    - E ro r i l e l a r eg as i rea o b iec te lo r d in co n ta in e r p o t sa f i e

    id en t i f i ca te d o ar l a ex ecu t i e (C lassCas t tE x cep t io n )

    C O NT A INER E GENER IC E-

    T ip Co n ta in e r

    - In co n ta in e r se p o t p as t r a d o ar o b iec te d in t ip u l d e b aza

    - Se o b t in e e ro a re l a co mp i la re d aca se in cea rca s to ca rea

    u n u i o b iec t d in t r -u n a l t t i p

    -

    Nu m ai e s t e n e ces a r a op er a t i a d e cas t ( co n v e rs i e ) l a

    r e g a s i r e a o b i e c t e l o r

    - O p e r a t i i d e e f e c t u a t l a u t i l i z a r e a c o n t a i n er e l o r :

    Def in i rea o b iec tu lu i d e t ip co n ta in e r ;

    In se ra rea d e o b iec te in co n ta in e r (d e ex : Meto d a ad d )

    Reg as i rea o b iec te lo r (d e ex Meto d a g e t ) Daca su n t co n ta in e re g en er i ce n u mai e s t e

    n ev o ie d e cas t ;

    L a co n ta in e re p re - Jav aSE , t r eb u ie

    co n v ers i e .

    T IPU R I DE C O NT A INER E J A V A

    -

    Co lec t i i : memo reaza o secv en ta d e e l emen te in d iv id u a le ,

    imp reu n a cu u n a sau mai mu l t e r eg u l i ap l i ca te aces to ra

    L is t : memo reaza o b iec te l e in o rd in ea in ca re au fo s t

    i n s e r a t e ; Set : n u se p e rmi t o b iec te d u p l i ca t ;

    Qu eu e : se r eg ases te d u p a o rd in ea fu rn iza ta d e r eg u la

    d e i n s i r u i r e .

    -

    Map : r ep rez in ta g ru p u r i d e p e rech i d e t ip (ch e ie ,v a lo a re )

    In t r -u n Map se r eg ases te u n o b iec t (v a lo a rea ) fu rn iza ta

    p r i n c h e i

    - Co l lec t io n , L i s t , Se t , Qu eu e s i Map rep rez in ta in t e r fe t e .

    -

    L is t ap p les = n ew Array L is t( ) ;

    - L is t ap p les = n ewL in k ed L is t( ) ;

    -

    In co lec t i i se p o t ad au g a g ru p u r i d e e l emen te- Co l lec t io n .Ar ray . asL i s t ( ) Co l l ec t io n . ad d Al l ( )

  • 7/26/2019 Teorie Java hatz

    29/50

    2 9

    LU C R U L C U C O NT A INER E

    - T ip ar i r ea aces to ra : me to d a to S t r in g ;

    -

    So r ta re : me to d a So r t

    L IS T E : 2 T IPU R I DE L IS T E

    -

    Array L is t : l i s t a imp lemen ta ta cu u n s i r . Pe rmi te o p era t i ir ap id e p en t ru acces r an d o m la e l emen te . Op era t i i l e d e

    i n s e r a r e s i s t e r g e r e d e l a m i j l o c u l l i s t e i s u n t c o s t i s i t o a r e.

    - L in k ed L is t : l i s t a imp lemen ta ta cu l i s t a s imp lu in la tu i t a .

    Permi te o p era t i i r ap id e d e in se r t i e s i s t e rg e re d e l a

    mi j lo cu l l i s t e i , i n sa o p era t i i l e d e r eg as i re a l ea to a re su n t

    c o s t i s i t o a r e .

    I T ER A T O R I

    -

    E ste u n d es ig n p a t t e rn

    -

    U n o b i e c t d e t i p i t e r a t o r e s t e a s o c i a t u n e i c o l e c t i i s ip e rm i t e r e ga s i r e a o r d on at a a ob i ec t e lo r d i n c o l e c t i a

    r e s p e c t i v a ;

    - Meto d a i t e ra to r ( ) a u n e i co lec t i i

    - Meto d a n ex t ( ) a o b iec tu lu i i t e ra to r : p ro d u ce u rmato ru l

    e l e m e n t d i n c o l e c t i e ;

    -

    Meto d a h asNex t ( ) : i n t e ro g h eaza d aca mai su n t e l emen te

    n e i t e r a t e

    - Meto d a remo v e( ) : s t e rg e u l t imu l e l emen t i t e ra t d in

    c o l e c t i e

    -

    I t e ra to r i i p o t p ro d u ce e l emen te le co lec t i e i d o ar in t r -os i n g u r a d i r e c t i e

    - L is t I t e ra to r : fu rn iza t d o ar d e in te r fa t aL i s t , p o a te

    p a r c ur ge e l e ment e l e c o l e c t i e i i n a mb e l e d i r ec t i i .

    EXC EPT I I

    - Nu t o a t e e ro r i l e po t f i p r in s e l a s c r i e rea p ro gr amul u i ( l a

    c o m p i l a r e )

    - Res tu l p ro b lemelo r t r eb u ie r ezo lv a te l a ex ecu t i e p r in t r -

    u n mecan i sm p r in ca re sa o fe re p ro g ramu lu i c l i en t

    in fo rmat i a n ecesa ra r ezo lv a r i i s i tu a t i e i => ex cep t io nh an d l in g : s in g u ru l mecan i sm Jav a p en t ru t r a t a rea

    e r o r i l o r .

    - Co n cep tu l d e ex cep t i e : in d o men iu l d e v iz ib i l i t a t e u n d e

    ap are e ro a rea d e o b ice i n u s t im cu m sa o t r a t am, in s a

    s t im ca n u p u tem sa co n t in u am cu e ro a rea , a s t f e l ca

    t r an smi tem e ro area sp re r ezo lv a re u n u i d o men iu d e

    v iz ib i l i t a t e ex te r io r .

    - E x cep t io n co n d i t io n : e ro a rea ap aru ta (d e ex emp lu

    i m p a r t i r e l a 0 )

    -

    L a ap ar i t i a u n e i e ro r i : Se c reaza u n o b iec t d e t ip ex cep t i e ( p e h eap cu n ew)

  • 7/26/2019 Teorie Java hatz

    30/50

    3 0

    Fi ru l d e ex ecu t i e cu ren t e s t e in t r e ru p t s i r e fe r in ta l a

    o b iec tu l ex cep t i e e s t e t r an smisa in a fa ra co n tex tu lu i

    c u r e n t

    Mecan i smu l d e ex cep t i o n h an d l in g cau ta u n co n tex t

    p o t r i v i t p en t ru r e lua r e a ex ec u t i e i p ro gr amu l u i

    Han d le ru l d e ex cep t i e : lo cu l u n d e se r e i a ex ecu t i a

    p ro gr am ul u i , r ecu pe re az a p r o gr amu l d e l a e ro a re a

    a p a r u t a .

    -

    Aru n carea u n e i ex cep t i i

    I f ( t==NUL L )

    T h ro w.n ewNu l lPo in te rE x cep t io n ( ) ;

    -

    Ob iec te le d e t ip ex cep t i e p o t f i co n s t ru i t e cu a rg u men te

    t r a n s m i s e

    - L a th ro w se p o a te a ru n ca o r i ce o b iec t d in t r -u n t ip ca re

    ex t in d c l asa T h ro wab le (c lasa r ad ac in a a i e ra rh ie i

    e x c e p t i i l o r )

    - Co n cep tu l d e t r an zac t i e : t o tu l sau n imic

    - Premisa fu n d amen ta la a t r an zac t i i lo r : ex i s t en ta

    co n cep tu lu i d e ex cep t i e .

    GU A R DED R EGIO NS

    T ry

    {

    / / c o d u l c a r e e s t e s u s c e p t i b i l s a g e n e r e z e e x c e p t i e

    } ca tch (T y p e1 tp 1 ){

    / / e x c e p t ii d e t i p u l 2

    }ca tch (T y p e2 ){

    / / ex cep t i i d e t ip u l2 }

    F in a l ly {

    / / co d ca re se ex ecu ta in d i fe ren t d e t ip u l d e ex cep t i e a ru n ca t ( sau

    n u )

    }

    - T ry -ca tch fu n c t io n eaza ca u n swi tch p e t ip u l d e ex cep t i e

    - 2 mo d a l i t a t i d e t r a t a re a e ro r i lo r

    T ermin a t io n : e ro a rea es t e a ru n ca ta ;

    Resu mp t io n : se in se reaza co d t ry -ca tch p en t ru

    rezo lv area e ro r i i .

  • 7/26/2019 Teorie Java hatz

    31/50

    3 1

    C R EA R EA PR O PR I I LO R EXC EPT I I

    - Mo sten i re d in c l asa E x cep t io n

    - L a a f i sa r i l a o e ro a re se r eco man d a u t i l i za rea Sy s tem.e r r

    in lo c d e Sy s tem.o u t ;-

    p r in t S t ack T ra c e ( . . ) : s e a f i s e az a s e cv en t a d e me to d e

    a p e l a t e p e n t r u a a j u n g e l a e x c e p t i e

    - g e tMessag e( . . ) : mo s ten i t d e l a T h ro wab le , e s imi la r cu

    to S t r in g p en t ru e ro r i ;

    - L o g g in g :

    Urmar i rea ex ecu t i e i p ro g ramu lu i p en t ru a p u tea

    rezo lv a mai u so r e ro r i l e ;

    Jav a .u t i l . l o g g in g

    Se c reaza u n o b iec t d e t ip L o g g er ;

    Se p o t lo g a mesa je d e t ip f in e , in fo , se rv e re , warn in g ,e t c .

    S PEC IF IC A R EA EXC EPT IE I

    -

    L a o meto d a , p r in th ro ws se in d ica t ip u l e ro r i lo r ca re p o t

    f i a ru n ca te d e ca t re meto d a resp ec t iv a ;

    - E ro r i l e d e t ip Ru n t imeE x cep t io n n u t r eb u ie sp ec i f i ca te

    p r in th ro ws

    -

    Co mp i la to ru l fo r t eaza p ro g ramato ru l sa sp ec i f i ce

    e x c e p t i i l e

    Daca in t r -o fu n c t io e es t e p o s ib i l sa ap ara o ex cep t i e s i

    p ro gr am at o ru l nu o sp e c i f i c a p r i n th r ows , a t un c i ap ar e

    e ro are l a co mp i la re

    E ro r i l e v e r i f i ca te s i en fo rced l a co mp i la re : ch eck ed

    ex cep t io n s

    - Pr in d erea o r i ca re i ex cep t i i : ca t ch (E x cep t io n e ){ . . }

    - Stack T race : p r in tS tack T race , g e tS tack T race

    - Rearu n carea u n e i ex cep t i i : i n ca tch se f ace th ro w.

    INLA NT U IR EA EXC EPT I I LO R

    - L a p r in d erea u n e i ex cep t i i s i a ru n carea u n e i a l t e

    ex cep t i i , s e d o res te p as t r a rea l an tu lu i ex cep t i i lo r ca rea p a r ;

    - Su b c lase le T h ro wab le p o t sa u t i l i zeze ca u za e ro r i i ca s i

    a rg u men t in co n s t ru c to r ;

    -

    Se p o a te fo lo s i c l au za l a co n s t ru c to r d o ar l a c l ase le d e

    t ip E r ro r , E x cep t io n sau Ru n t imeE x cep t io n

    - L a ce le l a l t e t ip u r i d e e ro r i , s e p o a te u t i l i za In i tCau se .

  • 7/26/2019 Teorie Java hatz

    32/50

    3 2

    I ER A R HIA EXC EPT I I LO R IN J A V A

    - Clasa th ro wab le : o r i ce mo s ten i t d in th ro wab le p o a te f i

    a ru n ca t cu th ro w;

    - 2 t ip u r i d e o b iec te th ro wab le : E r ro r an d E x cep t io n

    - E x cep t i i l e j av a mo s ten esc d in c l asa ex cep t io n

    -

    Nu me l e ex c e p t i e i e s t e su ge s t i v p en t r u c a uz a a p a r i t i e i

    e x c e p t i e i

    - Ru n t imeE x cep t io n : su n t a ru n ca te in mo d au to mat d e ca t re

    j a v a l a m om en tu l ap a r i t i e i l o r u n ch eck ed ex cep t io n s

    -

    De o b ice i , aces tea in d ica b u g u r i s i n u t r eb u ie p r in se cu

    t r y - c a t c h .

    EXC EPT I I P IER DU T E

    - E x is ta o c l au za f in a l ly f a ra ca tch ;

    - S a u i n f i n a l i s e f a c e r e t u r n

    -

    Pro g ramato ru l n u a re n ic i o in d ica t i e d esp re ex cep t i ap i er du t a

    R ES T R IC T I I LA EXC EPT I I

    - Can d se su p rasc r i e o meto d a , se p o t a ru n ca d o ar

    ex cep t i i l e d e t ip u sp ec i f i ca t in meto d a d in c l asa d e b aza

    -

    Aten t i e l a ex cep t i i i n co n s t ru c to r i : co n s t ru c to r i i t r eb u ie

    sa i s i i n ch e ie cu su cces ex e cu t i a p en t ru a aad u ce

    o b i e c t e l e i n t r - o s t a r e s i g u r a ;

    - E x cep t io n match in g : se f ace p o t r iv i r e p e cea mai

    ap ro p ia ta c l au za ca tch ca re p o t r iv es te cu t ip u l ex cep t i e i .

    GU IDEL INES :

    - T ra ta t i ex cep t i i l e l a d o men iu l d e v iz ib i l i t a t e p o t r iv i t (n u

    p r in de t i ex c ep t i i d ec a t d a ca s t i t i c e s a f ac e t i cu e l e )

    - L a rezo lv a re , d e o b ice i se r ezo lv a p ro b lema ex cep t i e i s i

    se r e i a ex ecu t i a co d u lu i ca re a g en era t ex cep t i a sau se

    t r an smi te ex ecu t i a l a u n n iv e l su p er io r f a ra r e lu a rea

    co d u lu i sau se p o a te ca lcu la u n rezu l t a t a l t e rn a t iv ce lu i

    p r od us d e co du l c a re a ge n er a t ex c ep t i a s au s e p oa t e

    ex ecu ta to t ce e p o s ib i l i n d o men iu l cu re n t s i se a ru n cain aceeas i ex cep t i e l a n iv e l su p er io r sau Se p o a te t e rmin a

    p r o g ram ul

    - S a f a c e m p r o g r a m e l e n o a s t r e s i m p l e

    - Sa facem p ro g ramele n o as t re sa fe p r in d eb u g g in g .

  • 7/26/2019 Teorie Java hatz

    33/50

    3 3

    CURS 8

    I / O J ava

    S IS T EMU L DE I / O INT R -U N L IMB A J DE PR O GR A MA R E

    - Sis temu l d e I /O in t r -u n l imb a j d e p ro g ramare t r eb u ie sa

    f i e c a p a b i l s a t r a t e z e

    Su rse d i fe r i