Ciao a tutti.
Ho un interfaccia Interface contenente un metodo e una classe InterfaceImpl che la implementa contenente l'implementazione del metodo e in più ho definito un campo intero da associare a un oggetto di quel tipo.
Prima domanda: posso definire un campo nella classe di implementazione dell'interfaccia(InterfaceImpl) nonostante l'interfaccia non ne possa contenere?
Altro problema: nella classe principale Esercizio ho dei metodi i cui parametri in ingresso hanno come tipo il nome dell'interfaccia(Ad esempio Interface x). Se in questi metodi volessi creare un oggetto di tipo Interface, poichè questi oggetti hanno un campo intero, dovrò chiamare il costruttore di InterfaceImpl passandogli l'intero, giusto? Quindi se il mio metodo accetta Interface x, se io volessi accede al campo intero dovrei fare un cast di questo tipo? -> InterfaceImpl xx = (InterfaceImpl) x
In questo modo però il programma mi da problemi nel momento in cui vado a confrontare oggetti di tipo Interface e InterfaceImpl.
Sto sbagliando qualcosa?
PS: l'hashmap del titolo non centra molto, o meglio è un secondo problema, ma prima vorrei risolvere questo