1. Studiati codul Parcel2.java ce prezinta definirea si utilizarea claselor incuibarite ("Inner classes") 2. Studiati codul TestParcel.java ce prezinta upcasting-ul pentru clase incuibarite. Observati ca in cazul claselor incuibarite se pot folosi si modificatorii de acces "private" si "protected". 3. Studiati codurile Parcel4.java si Parcel5.java ce prezinta definirea clasei incuibarite intr-o metoda respectiv intr-un bloc de instructiuni. 4. Creati o interfata ce contine cel putin o metoda. Implementati interfata definind o clasa incuibarita in cadrul unei metode ce returneaza o referinta la interfata creata. Repetati exercitiul 4 dar definiti clasa incuibarita in cadrul unui bloc de instructiuni. 5. Studiati codul Parcel6.java ce prezint clase incuibarite anonime. Clasa anonima este echivalenta cu codul: class MyContents implements Contents { private int i = 11; public int value() { return i; } } return new MyContents(); 6. Modificati HorrorShow.java de la laboratorul trecut astfel incat sa implementati DangerousMonster si Vampire folosind clase anonime. 7. Studiati codul Sequence.java ce prezinta legatura cu clasa exterioara ("Outer class"). 8. Modificati codul Sequence.java prin adaugarea unei metode getRSelector() ce produce o implementare diferita a interfetei Selector ce determina parcurgerea secventei in sens invers, de la sfarsit la inceput. 9. Demonstrati ca o clasa incuibarita are acces la elementele de tip "private" ale clasei exterioare. Determinati daca reciproca e valabila. mplements E.G {