Oggetti & metodi
Ereditarietà
Classe String
Exception & HTML
Domande prof
200

Che cosa si intende per “oggetto”? Spiega questo concetto con un esempio.


 Un oggetto in Java è un’istanza di una classe. Rappresenta un’entità che contiene stato (variabili d’istanza) e comportamento (metodi). Un oggetto viene creato usando la parola chiave new e può accedere a metodi e attributi definiti nella classe da cui è stato creato.

200

L’ereditarietà permette a una classe di ereditare metodi e attributi da un’altra classe tramite la parola chiave ________

L’ereditarietà permette a una classe di ereditare metodi e attributi da un’altra classe tramite la parola chiave extends

200

Come funziona il metodo length() in una stringa in Java? Nel caso dell’esempio che output da questa funzione? 

String str = "Java";

int len = str.length();

Il metodo length() restituisce la lunghezza della stringa, ossia il numero di caratteri presenti in essa, la lunghezza nel caso dell’esempio sarà di 4.

200

 Il tag HTML <b> serve per applicare il ________ al testo, mentre <i> applica il ________.

Il tag HTML <b> serve per applicare il grassetto al testo, mentre <i> applica il corsivo.

200

L’overload di un metodo implica scrivere un altro metodo con lo stesso nome e diverso tipo di ritorno  

  • Vero    

  • Falso

Falso

300

Qual è il significato della parola “this”, dove e quando si usa?

Si usa davanti a un oggetto o una variabile per evitare problemi di ambiguità tra attributi e metodi o costruttori che hanno lo stesso identificativo.

300

Che cosa rappresenta la parola chiave super? In quali casi viene utilizzata e perché è utile nell’ambito dell’ereditarietà?

 La parola chiave super in Java viene utilizzata per accedere ai membri (variabili o metodi) della superclasse da una sottoclasse. È utile in due principali casi:

  • Per richiamare il costruttore della superclasse

  • Per accedere a un metodo o attributo della superclasse che è stato sovrascritto nella sottoclasse

300

Qual è la differenza tra i metodi equals() e == quando si confrontano due oggetti String?

Il metodo equals() confronta il contenuto di due stringhe, mentre == confronta se le due variabili fanno riferimento allo stesso oggetto in memoria.

300

Vero o Falso: Il blocco finally viene eseguito solo se viene sollevata un’eccezione.

Falso (il blocco finally viene eseguito sempre, sia che si verifichi un’eccezione o meno)

300

Dato il seguente codice:

public class Test {

   int x;

   public Test(String t) {

     System.out.println("Test");

   }

   public static void main(String[] args) {

     Test test = null;

    System.out.println(test.x);

   }

}    

  • Si ha un errore di sintassi perché test non è stata inizializzata    

  • Si ha un errore di sintassi perché x non è stata inizializzata

  • Si ha un errore di sintassi perché la classe Test non ha un costruttore di default

  • Si ha un errore in esecuzione (NullPointerException) perché test è  null quando si usa test.x

Si ha un errore in esecuzione (NullPointerException) perché test è  null quando si usa test.x

400

Il ___________ _________ in Java viene spesso utilizzato quando si vuole creare un oggetto senza fornire immediatamente valori specifici, lasciando che le variabili d’istanza vengano inizializzate ai valori di ________ oppure impostate successivamente tramite metodi ________.

Il costruttore vuoto in Java viene spesso utilizzato quando si vuole creare un oggetto senza fornire immediatamente valori specifici, lasciando che le variabili d’istanza vengano inizializzate ai valori di default oppure impostate successivamente tramite metodi setter.

400

 Il __________ in Java consente di trattare oggetti di classi diverse tramite un riferimento di tipo ________, permettendo la chiamata a metodi che possono essere ridefiniti nelle sottoclassi. Il metodo che viene eseguito dipende dal tipo effettivo dell'oggetto e non dal tipo della ________.

 Il poliformismo in Java consente di trattare oggetti di classi diverse tramite un riferimento di tipo superclasse , permettendo la chiamata a metodi che possono essere ridefiniti nelle sottoclassi. Il metodo che viene eseguito dipende dal tipo effettivo dell'oggetto e non dal tipo della variabile.

400

Completa la frase: Il metodo _________ di una stringa in Java viene utilizzato per estrarre una parte di stringa a partire da un indice di ________ e un indice di ________.

Il metodo substring() di una stringa in Java viene utilizzato per estrarre una parte di stringa a partire da un indice di partenza e un indice di fine.

400

Cos'è un'eccezione e quali costrutti si usano per gestirla?

Un'eccezione è un evento che si verifica durante l'esecuzione del programma e interrompe il normale flusso delle istruzioni. Abbiamo try, catch, throw, throws e finally

400

Data la seguente porzione di codice:

if ("ciao" == "ciao" && "mondo".replace('M','T') == "mondo")

    System.out.println("Uguale");

else

    System.out.println("Diversa"); 

  • Si ha un errore in compilazione

  • Visualizza "Uguale"

  • Visualizza "Diversa"  

  • Si ha un errore in esecuzione

Visualizza "Uguale"

500

Che cos'è il concetto di incapsulamento in Java? Come si può implementare l'incapsulamento usando metodi getter e setter? Fornisci un esempio pratico sulla classe Persona (attributi: nome, cognome, età)

L'incapsulamento è la pratica di nascondere i dettagli interni di un oggetto, questo è di solito realizzato con l'uso di modificatori di accesso per nascondere gli attributi (rendendoli privati) e fornendo metodi pubblici (getter e setter) per accedere a quegli attributi.

500

Quale di queste affermazioni è vera riguardo all’ereditarietà in Java?

A) Una classe può estendere più classi
B) Un’interfaccia può estendere una classe
C) Una classe può implementare più interfacce
D) Una classe astratta può essere istanziata direttamente

C) Una classe può implementare più interfacce.

500

Che cosa fa il metodo replace() in Java e come viene utilizzato? Fornisci un esempio.

 Il metodo replace() in Java sostituisce tutte le occorrenze di un carattere o di una sottostringa con un'altra stringa.

String str = "Ciao mondo!";

String nuovaStr = str.replace("mondo", "Terra"); 

500

Spiega la differenza tra i tag <div> e <span> in HTML. Quando è preferibile usare l’uno rispetto all’altro?

<div> è un contenitore a blocco, usato per raggruppare sezioni di una pagina.

<span> è un contenitore inline, usato per stilizzare porzioni di testo all’interno di un blocco.

500

public class Test{

    private int a1 = 5;

    private int a2 = 10;

    public static void main(String args[]){

        Test P = new Test();

        System.out.println(new Test().a2/P.a1);

    }

}  

  • Errore in compilazione: a1 and a2 should be declared static in Test    

  • Errore in compilazione: a1 and a2 have private access in Test

  • Nessun errore: l’output è 2

  • Si ha un errore in esecuzione

Nessun errore: l’output è 2

M
e
n
u