Domande dell'appello di esame di Fondamanti di Informatica L-B del 17-09-2002
Le risposte giuste sono marcate con un asterisco (*)

1. Che cos' un metodo static?

   A. E' un metodo privo di implementazione
   B. E' un metodo di una classe base che  stato ridefinito
 * C. E' un metodo di classe anzich di istanza

2. Data la dichiarazione: 
   class E extends C,D implements I1,I2 
   Quale delle seguenti affermazioni  CORRETTA:

   A. La dichiarazione  sbagliata perch una classe non pu implementare pi di un'interfaccia
   B. La dichiarazione  corretta
 * C. La dichiarazione  sbagliata perch una classe non pu ereditare da pi di una classe

3. Quale delle seguenti affermazioni  ERRATA:
   
 * A. Una classe astratta implementa almeno un'interfaccia
   B. Una classe astratta contiene almeno un metodo astratto
   C. Non  possibile creare istanze di una classe astratta
  
4. Quale delle seguenti affermazioni  CORRETTA:

   A. In Java tutti i metodi possono essere ridefiniti
 * B. In Java possono essere ridefiniti tutti i metodi non marcati come final
   C. In Java possono essere ridefiniti solo i metodi marcati come virtual

5. Come vengono distrutti gli oggetti in Java?

   A. Invocando esplicitamente il metodo finalize
 * B. Automaticamente quando non sono pi utilizzati
   C. Alla fine dell'esecuzione di un programma

6. La classe C1 implementa l'interfaccia I1, la classe C2 eredita da C1 e implementa I2
   (ovvero C1 implements I1, C2 extends C1 implements I2)
   Quale delle seguenti affermazioni  corretta:

 * A. C2 deve implementare tutti i metodi di I2 e pu implementare alcuni metodi di I1
   B. C2 deve implementare tutti i metodi di I1 e tutti i metodi di I2
   C. C2 pu implementare alcuni metodi di I2 ma non pu implementare nessun metodo di I1

7. La classe C2 eredita da C1 (quindi C2 extends C1)
   Quale delle seguenti sequenze di istruzioni  ERRATA?
   A. C1 c; c=new C2();
 * B. C2 c; c=new C1();
   C. C1 c; c=new C1();
 
8. Data la seguente sequenza di istruzioni:
   
   int a,b;
   
   b=0;

   try 
   {
     a=5/b;
     a=6;
   }
   catch (Exception e) 
   {
     a=0;
   }

   Qual' il valore di a alla fine:
    
 * A. Zero
   B. Indefinito 
   C. 6