This shows you the differences between two versions of the page.
|
poo-ca-cd:test:test_2015 [2020/08/19 23:29] florin.mihalache |
poo-ca-cd:test:test_2015 [2021/01/29 13:49] (current) adriana.draghici [Clase interne] |
||
|---|---|---|---|
| Line 316: | Line 316: | ||
| * public | * public | ||
| - | * Nu este necesar niciun cuvânt cheie în plus pentru a permite compilarea corectă a programului. | + | * **Nu este necesar niciun cuvânt cheie în plus pentru a permite compilarea corectă a programului.** |
| - | * **final** | + | * final |
| * static | * static | ||
| - | **Explicație:** //Pentru a folosi variabile locale din afara contextului (//scope//-ului) unei clase interne (cum e și cazul nostru), e necesar cuvântul cheie ''final''//. Motivul este layout-ul în memorie al claselor și variabilelor, iar ''final'' permite (prin copiere) și garantează accesul la valoarea corectă a variabliei ''x'' la orice moment. ''static'' și ''public'' nu au oricum sens pentru variabile locale, iar diferențierea dintre "nu e nevoie de modificator" și "final" este motivul precedent. | + | **Explicație:** Felul în care este folosită variabila o face// effectively final// si nu este nevoie de vreun cuvânt cheie în fața declarației ei. Dacă era modificată atunci era nevoie de cuvântul cheie ''final''. Vedeți explicația din laboratorul de [[poo-ca-cd:laboratoare:clase-interne|clase interne]] despre //effectively final//. |
| ==== Colecții și genericitate ==== | ==== Colecții și genericitate ==== | ||