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 ==== |