1. Studiati codul FinalData.java si Jurassic.java ce prezinta folosirea cuvantului cheie final. 2. Creati o clasa cu atributul final si incercati sa derivati din ea o alta clasa. 3. Studiati codul Wind.java ce prezinta "upcasting"-ul. 4. Studiati codul Shapes.java ce prezenta polimorfismul. 5. Adaugati o noua metoda in clasa de baza din Shapes.java ce afiseaza un mesaj dar nu o supraincarcati in clasele derivate. Explicati rezultatele. Apoi supraincarcati metoda in una din clasele derivate si observati ce se intampla. Supraincarcati apoi metoda in toate clasele derivate. 6. Adaugati un nou tip de figura geometrica in Shapes.java si verificati in main() ca polimorfismul functioneaza si pentru noul tip de data. 7. Modificati codul Shapes.java astfel incat clasa de baza si metodele ei sa fie abstracte. Verificati acest lucru incercand sa creati obiecte de tipul clase de baza. 8. Studiati codul RTTI.java ce prezinta "downcasting"-ul. 9. Urmand exemplul din Transmogrify.java creati clasa Starship ce contine o referinta de tip Alert ce poate indica trei stari diferite. Asigurati metode pentru schimbarea starii si verificati implementarea. fd1.v2.i++; // Object isn't constant!