Search
Třídy, rozhraní; vnitřní třídy, anonymní vnitřní třídy, uzávěry.
Proměnné, statické proměnné, atributy, lokální proměnné, parametry, vázání jmen; halda, zásobník a prostor statických proměnných; primitivní typy a ukazatele, instance, == a equals.
==
equals
Metody, pozdní a brzká vazba metod, dvojité volání; statické metody a konstruktory.
Inkluzivní polymorfismus (vztah nadtyp/podtyp), subsumpce a substituční princip, kovariance a kontravariance, operátor instanceof a přetypování.
instanceof
Parametrický polymorfismus (generické třídy), typové parametry, hranice typových parametrů, instanciace generické třídy, ko- a kontravariance generických tříd.
Ad hoc polymorfismus: přetěžování metod a koerce.
Dědičnost, kaskádování konstruktorů, překrývání metod, stínění proměnných, abstraktní třídy a metody, klíčové slovo super.
super
Skrývání implementace (zapouzdření), invarianty a aserce, zpřístupnění vnitřní reprezentace; problém rámce při dokumentování funkce tříd a metod.
Návrhové vzory tovární metoda, továrna, abstraktní továrna, stavitel, adaptér, dekorátor, proxy, stav, strategie, command, strom, interpretr, návštěvník, iterátor, pozorovatel, šablonová metoda, nulový objekt.
Imutabilita, funkcionální programování, funkce vyšších řádů (filter, map/transform a fold/reduce); Google Guava, Functional Java.
filter
map
transform
fold
reduce
Metaprogramování.
Použití vzorů v Java Např. zde