100+ Java Domande e risposte all'intervista (2026)

qui ci sono Java domande e risposte ai colloqui per candidati alle prime armi ed esperti per ottenere il lavoro dei loro sogni.

 

Java Domande e risposte sull'intervista di programmazione per le matricole

1) Qual รจ la differenza tra una Classe Interna e una Sottoclasse?

Una classe interna รจ una classe nidificata all'interno di un'altra classe. Una classe interna ha diritti di accesso per la classe che la annida e puรฒ accedere a tutte le variabili e metodi definiti nella classe esterna.

Una sottoclasse รจ una classe che eredita da un'altra classe chiamata superclasse. La sottoclasse puรฒ accedere a tutti i metodi e campi pubblici e protetti della sua super classe.

๐Ÿ‘‰ Scarica gratuitamente il PDF: Java Intervista Intervista Domande e risposte >>


2) A cosa servono i vari specificatori di accesso Java classi?

In Java, gli specificatori di accesso sono le parole chiave utilizzate prima del nome di una classe che definisce l'ambito di accesso. I tipi di specificatori di accesso per le classi sono:

1) Pubblico: Classe, Metodo e Campo sono accessibili da qualsiasi luogo.

2) Protetto: รˆ possibile accedere a Method,Field dalla stessa classe a cui appartengono o dalle sottoclassi e dalla classe dello stesso pacchetto, ma non dall'esterno.

3) Predefinito: รˆ possibile accedere a Method, Field, class solo dallo stesso pacchetto e non dall'esterno del pacchetto nativo.

4) Privato: รˆ possibile accedere a Method,Field dalla stessa classe a cui appartengono.


3) Qual รจ lo scopo dei metodi statici e delle variabili statiche?

Quando รจ necessario condividere un metodo o una variabile tra piรน oggetti di una classe invece di creare copie separate per ciascun oggetto, utilizziamo la parola chiave statica per rendere un metodo o una variabile condivisa per tutti gli oggetti.


4) Cos'รจ l'incapsulamento dei dati e qual รจ il suo significato?

L'incapsulamento รจ un concetto della programmazione orientata agli oggetti per combinare proprietร  e metodi in una singola unitร .

L'incapsulamento aiuta i programmatori a seguire un approccio modulare per lo sviluppo del software poichรฉ ogni oggetto ha il proprio set di metodi e variabili e svolge le sue funzioni indipendentemente dagli altri oggetti. L'incapsulamento serve anche a nascondere i dati.


5) Cos'รจ una classe singleton? Fai un esempio pratico del suo utilizzo.

Una classe singleton in Java puรฒ avere una sola istanza e quindi tutti i suoi metodi e variabili appartengono a una sola istanza. Il concetto di classe singleton รจ utile nelle situazioni in cui รจ necessario limitare il numero di oggetti per una classe.

Il miglior esempio di scenario di utilizzo del singleton รจ quando esiste un limite per avere una sola connessione a un database a causa di alcune limitazioni del driver o di eventuali problemi di licenza.


6) Cosa sono i Loop in Java? Quali sono i tre tipi di loop?

gabinettoping viene utilizzato nella programmazione per eseguire ripetutamente un'istruzione o un blocco di istruzioni. Ce ne sono tre tipi di loop in Java:

1) Per i loop

I cicli For vengono utilizzati in Java per eseguire istruzioni ripetutamente per un determinato numero di volte. I cicli For vengono utilizzati quando il programmatore conosce il numero di volte in cui eseguire le istruzioni.

2) Mentre cicli

Il ciclo while viene utilizzato quando รจ necessario eseguire determinate istruzioni ripetutamente finchรฉ non viene soddisfatta una condizione. Nei cicli while, la condizione viene controllata prima dell'esecuzione delle istruzioni.

3) Esegui i cicli While

Il ciclo Do While รจ uguale al ciclo While con l'unica differenza che la condizione viene verificata dopo l'esecuzione del blocco di istruzioni. Pertanto, in caso di ciclo do while, le istruzioni vengono eseguite almeno una volta.


7) Cos'รจ un Loop infinito? Come viene dichiarato il ciclo infinito?

Un ciclo infinito viene eseguito senza alcuna condizione e funziona all'infinito. Un ciclo infinito puรฒ essere interrotto definendo qualsiasi logica di interruzione nel corpo dei blocchi di istruzioni.

Il ciclo infinito รจ dichiarato come segue:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) Qual รจ la differenza tra l'istruzione continue e break?

break e continue sono due parole chiave importanti utilizzate nei Loops. Quando viene utilizzata una parola chiave break in un ciclo, il ciclo viene interrotto immediatamente mentre quando viene utilizzata la parola chiave continue, l'iterazione corrente viene interrotta e il ciclo continua con l'iterazione successiva.

Nell'esempio seguente, il ciclo viene interrotto quando il contatore raggiunge 4.

for (counter = 0; counter & lt; 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    break;
}

}

Nell'esempio seguente, quando il contatore raggiunge 4, il ciclo salta all'iterazione successiva e qualsiasi istruzione dopo la parola chiave continue viene saltata per l'iterazione corrente.

for (counter = 0; counter < 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    continue;
}
system.out.println("This will not get printed when counter is 4");
}

9) Qual รจ la differenza tra le variabili double e float in Java?

In Java, float occupa 4 byte in memoria mentre Double occupa 8 byte in memoria. Float รจ un numero decimale in virgola mobile a precisione singola mentre Double รจ un numero decimale a doppia precisione.


10) Qual รจ la parola chiave finale Java? Fai un esempio.

In Java, una costante viene dichiarata utilizzando la parola chiave Final. Il valore puรฒ essere assegnato solo una volta e dopo l'assegnazione, il valore di una costante non puรฒ essere modificato.

Nell'esempio seguente, una costante con il nome const_val viene dichiarata e gli viene assegnato un valore:

Finale privato int const_val=100

Quando un metodo viene dichiarato finale, NON puรฒ essere sovrascritto dalle sottoclassi. Questo metodo รจ piรน veloce di qualsiasi altro metodo, perchรฉ vengono risolti in tempo rispettato.

Quando una classe viene dichiarata come final, non puรฒ essere sottoclassata. Esempio String, Integer e altre classi wrapper.


11) Cos'รจ l'operatore ternario? Dare un esempio.

L'operatore ternario, detto anche operatore condizionale, viene utilizzato per decidere quale valore assegnare ad una variabile in base ad una valutazione del valore booleano. รˆ indicato come ?

Nell'esempio seguente, se il rango รจ 1, allo stato viene assegnato il valore "Fatto" altrimenti "In attesa".

public class conditionTest {
    public static void main(String args[]) {
        String status;
        int rank = 3;
        status = (rank == 1) ? "Done" : "Pending";
        System.out.println(status);
    }
}

12) Come puoi generare numeri casuali in Java?

  • Usando Math.random() puoi generare numeri casuali nell'intervallo maggiore o uguale a 0.1 e inferiore a 1.0
  • Utilizzo della classe Random nel pacchetto java.util

13) Qual รจ il caso di commutazione predefinito? Fai un esempio.

In un istruzione switch, il caso predefinito viene eseguito quando nessun'altra condizione di commutazione corrisponde. Il caso predefinito รจ un caso facoltativo. Puรฒ essere dichiarato solo dopo che tutti gli altri casi di commutazione sono stati codificati.

Nell'esempio seguente, quando il punteggio non รจ 1 o 2, viene utilizzato il caso predefinito.

public class SwitchExample {
    public static void main(String args[]) {
        int score = 4; // Declare the score variable inside the main method
        switch (score) {
            case 1:
                System.out.println("Score is 1");
                break;
            case 2:
                System.out.println("Score is 2");
                break;
            default:
                System.out.println("Default Case");
        }
    }
}

14) In cosa consiste la classe base Java da cui derivano tutte le classi?

java.lang.object


15) รˆ possibile inserire il metodo main() Java puรฒ restituire qualche dato?

In Java, il metodo main() non puรฒ restituire alcun dato e quindi viene sempre dichiarato con un tipo di ritorno void.


16) Cosa sono Java Pacchetti? Qual รจ il significato dei pacchetti?

In Java, il pacchetto รจ una raccolta di classi e interfacce raggruppate insieme in quanto correlate tra loro. L'uso dei pacchetti aiuta gli sviluppatori a modularizzare il codice e raggrupparlo per un corretto riutilizzo. Una volta che il codice รจ stato impacchettato in Packages, puรฒ essere importato in altre classi e utilizzato.


17) Possiamo dichiarare una classe come Abstracsenza avere addominalitracmetodo t?

Sรฌ, possiamo creare un addominaletracclasse t utilizzando abstracparola chiave t prima del nome della classe anche se non ha alcun valore assolutotracmetodo t. Tuttavia, se una classe ha anche un solo assolutotracmetodo t, deve essere dichiarato come assolutotracaltrimenti verrร  visualizzato un errore.


18) Qual รจ la differenza tra un addominaletracClasse t e interfaccia in Java?

La differenza principale tra un addominaletracLa differenza tra una classe e un'interfaccia รจ che un'interfaccia puรฒ possedere solo la dichiarazione di metodi statici pubblici senza implementazione concreta, mentre metodi statici pubblici senza implementazione concreta.tracLa classe t puรฒ avere membri con qualsiasi specificatore di accesso (pubblico, privato ecc.) con o senza implementazione concreta.

Un'altra differenza fondamentale nell'uso degli addominalitracLa differenza tra classi e interfacce รจ che una classe che implementa un'interfaccia deve implementare tutti i metodi dell'interfaccia, mentre una classe che eredita da un'interfaccia astrattatracLa classe t non richiede l'implementazione di tutti i metodi della sua superclasse.

Una classe puรฒ implementare piรน interfacce ma puรฒ estendere solo un'interfaccia assolutatracclasse t.


19) Quali sono le implicazioni prestazionali delle interfacce rispetto ad abstracclassi t?

Le interfacce hanno prestazioni piรน lente rispetto agli abstracclassi t come indirezioni extra sono necessarie per le interfacce. Un altro fattore chiave che gli sviluppatori devono prendere in considerazione รจ che qualsiasi classe puรฒ estendere solo un assolutotracUna classe t puรฒ implementare diverse interfacce.

L'uso delle interfacce rappresenta inoltre un onere aggiuntivo per gli sviluppatori poichรฉ ogni volta che un'interfaccia viene implementata in una classe; lo sviluppatore รจ costretto a implementare ogni singolo metodo di interfaccia.


20) L'importazione di un pacchetto importa anche i suoi sottopacchetti Java?

In Java, quando un pacchetto viene importato, i suoi sottopacchetti non vengono importati e lo sviluppatore deve importarli separatamente, se necessario.

Ad esempio, se uno sviluppatore importa un pacchetto University.*, verranno caricate tutte le classi del pacchetto denominato University, ma non verrร  caricata alcuna classe del sottopacchetto. Per caricare le classi dal suo sottopacchetto (ad esempio dipartimento), lo sviluppatore deve importarlo esplicitamente come segue:

Importa universitร .dipartimento.*


21) Possiamo dichiarare privato il metodo main della nostra classe?

In Java, il metodo main deve essere pubblico statico per eseguire correttamente qualsiasi applicazione. Se il metodo main รจ dichiarato privato, lo sviluppatore non riceverร  alcun errore di compilazione, tuttavia non verrร  eseguito e genererร  un errore di runtime.


22) Come possiamo passare l'argomento a una funzione per riferimento invece che per valore?

In Java possiamo passare argomenti a una funzione solo per valore e non per riferimento.


23) Come viene serializzato un oggetto in Java?

In Java, per convertire un oggetto in flusso di byte mediante serializzazione, la classe implementa un'interfaccia con il nome Serializable. Tutti gli oggetti di una classe che implementa un'interfaccia serializzabile vengono serializzati e il loro stato viene salvato nel flusso di byte.


24) Quando dovremmo utilizzare la serializzazione?

La serializzazione viene utilizzata quando i dati devono essere transmittrasmesso sulla rete. Tramite la serializzazione, lo stato dell'oggetto viene salvato e convertito in un flusso di byte. Il flusso di byte viene trasferito sulla rete e l'oggetto viene ricreato a destinazione.


25) รˆ obbligatorio che un Try Block sia seguito da un Catch Block in Java per la gestione delle eccezioni?

Il blocco Try deve essere seguito dal blocco Catch o dal blocco Finalmente o da entrambi. Qualsiasi eccezione lanciata dal blocco try deve essere catturata nel blocco catch oppure qualsiasi attivitร  specifica da eseguire prima dell'interruzione del codice deve essere inserita nel blocco Finalmente.


Java Domande e risposte all'intervista per esperti

26) Esiste un modo per saltare il blocco finale dell'eccezione anche se si verifica qualche eccezione nel blocco eccezione?

Se viene sollevata un'eccezione nel blocco Try, il controllo passa al blocco catch se esiste, altrimenti al blocco finally. Il blocco Finally viene sempre eseguito quando si verifica un'eccezione e l'unico modo per evitare l'esecuzione di qualsiasi istruzione nel blocco Finally รจ interrompere forzatamente il codice scrivendo la seguente riga di codice alla fine del blocco try:

System.exit(0);

27) Quando viene invocato il costruttore di una classe?

Il costruttore di una classe viene richiamato ogni volta che viene creato un oggetto con la nuova parola chiave.

Ad esempio, nella seguente classe vengono creati due oggetti utilizzando la parola chiave new e quindi il costruttore viene richiamato due volte.

public class const_example {

    const_example() {

        system.out.println("Inside constructor");
    }
    public static void main(String args[]) {

        const_example c1 = new const_example();

        const_example c2 = new const_example();
    }
}

28) Una classe puรฒ avere piรน costruttori?

Sรฌ, una classe puรฒ avere piรน costruttori con parametri diversi. Il costruttore utilizzato per la creazione degli oggetti dipende dagli argomenti passati durante la creazione degli oggetti.


29) Possiamo sovrascrivere i metodi statici di una classe?

Non possiamo sovrascrivere i metodi statici. I metodi statici appartengono a una classe e non a singoli oggetti e vengono risolti al momento della compilazione (non in fase di runtime). Anche se proviamo a sovrascrivere il metodo statico, non otterremo un errore di compilazione, nรฉ l'impatto dell'override durante l'esecuzione del metodo. codice.


30) Nell'esempio seguente, quale sarร  l'output?

public class superclass {

    public void displayResult() {

        system.out.println("Printing from superclass");

    }

}

public class subclass extends superclass {

    public void displayResult() {

        system.out.println("Displaying from subClass");

        super.displayResult();

    }

    public static void main(String args[]) {

        subclass obj = new subclass();

        obj.displayResult();

    }

}

Ans: L'output sarร :

Visualizzazione dalla sottoclasse

Stampa dalla superclasse


31) String รจ un tipo di dati in Java?

String non รจ un tipo di dati primitivo in Java. Quando una stringa viene creata in Java, รจ in realtร  un oggetto di JavaClasse .Lang.String che viene creata. Dopo la creazione di questo oggetto stringa, tutti i metodi integrati della classe String possono essere utilizzati sull'oggetto stringa.


32) Nell'esempio seguente, quanti oggetti stringa vengono creati?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

Nell'esempio sopra, due oggetti di JavaViene creata la classe .Lang.String. s1 e s3 sono riferimenti allo stesso oggetto.


33) Perchรฉ ci sono le stringhe Java sono chiamati immutabili?

In Java, gli oggetti stringa sono chiamati immutabili poichรฉ una volta assegnato un valore a una stringa, non puรฒ essere modificato e, se modificato, viene creato un nuovo oggetto.

Nell'esempio seguente, il riferimento str si riferisce a un oggetto stringa con valore "Valore uno".

String str="Value One";

Quando gli viene assegnato un nuovo valore, viene creato un nuovo oggetto String e il riferimento viene spostato nel nuovo oggetto.

str="New Value";

34) Qual รจ la differenza tra un array e Vector?

Un array raggruppa dati dello stesso tipo primitivo ed รจ di natura statica mentre i vettori sono di natura dinamica e possono contenere dati di diversi tipi di dati.


35) Cos'รจ il multithreading?

Il multi threading รจ un concetto di programmazione per eseguire piรน attivitร  contemporaneamente all'interno di un singolo programma. I thread condividono lo stesso stack di processi e vengono eseguiti in parallelo. Aiuta a migliorare le prestazioni di qualsiasi programma.


36) Perchรฉ viene utilizzata l'interfaccia eseguibile Java?

L'interfaccia Runnable รจ utilizzata in Java per implementare applicazioni multithread. JavaL'interfaccia .Lang.Runnable รจ implementata da una classe per supportare il multi threading.


37) Quali sono i due modi di implementare il multi-threading in Java?

รˆ possibile sviluppare applicazioni multi thread Java utilizzando una delle due metodologie seguenti:

1) Utilizzando Java.Interfaccia eseguibile lang. Le classi implementano questa interfaccia per abilitare il multi threading. C'รจ un metodo Run() in questa interfaccia che รจ implementato.

2) Scrivendo una classe che si estenda JavaClasse .Lang.Thread.


38) Quando sono necessarie molte modifiche ai dati, quale dovrebbe essere la preferenza da utilizzare? Stringa o StringaBuffer?

Da StringBuffers sono di natura dinamica e possiamo modificare i valori di StringBuffer oggetti a differenza di String che รจ immutabile, รจ sempre una buona scelta usare StringBuffer quando i dati vengono modificati troppo. Se utilizziamo String in questo caso, per ogni modifica dei dati verrร  creato un nuovo oggetto String che costituirร  un sovraccarico aggiuntivo.


39) Qual รจ lo scopo dell'utilizzo di Break in ogni caso di Switch Statement?

Break viene utilizzato dopo ogni caso (tranne l'ultimo) in uno switch in modo che il codice si interrompa dopo il caso valido e non scorra anche nei casi successivi.

Se break non viene utilizzato dopo ogni caso, verranno eseguiti anche tutti i casi successivi al caso valido, con risultati errati.


40) Come viene effettuata la raccolta dei rifiuti Java?

In Java, quando un oggetto non viene piรน referenziato, raccolta dei rifiuti avviene e l'oggetto viene distrutto automaticamente. Per la garbage collection automatica, Java chiama il metodo System.gc() o il metodo Runtime.gc().


41) Come possiamo eseguire qualsiasi codice anche prima del metodo main?

Se vogliamo eseguire qualsiasi istruzione prima ancora della creazione degli oggetti al momento del caricamento della classe, possiamo utilizzare un blocco di codice statico nella classe. Qualsiasi istruzione all'interno di questo blocco statico di codice verrร  eseguita una volta al momento del caricamento della classe anche prima della creazione degli oggetti nel metodo principale.


42) Una classe puรฒ essere contemporaneamente una superclasse e una sottoclasse? Fai un esempio.

Se viene utilizzata una gerarchia di ereditarietร , una classe puรฒ essere contemporaneamente una superclasse per un'altra classe e una sottoclasse per un'altra.

Nell'esempio seguente, la classe continente รจ una sottoclasse della classe mondiale ed รจ la superclasse della classe nazionale.

public class world {

..........

}
public class continenet extends world {

............

}
public class country extends continent {

......................

}

43) Come vengono creati gli oggetti di una classe se nella classe non รจ definito alcun costruttore?

Anche se in una classe Java non รจ definito alcun costruttore esplicito, gli oggetti vengono creati con successo poichรฉ un costruttore predefinito viene utilizzato implicitamente per la creazione dell'oggetto. Questo costruttore non ha parametri.


44) Nel multithreading come possiamo garantire che una risorsa non venga utilizzata da piรน thread contemporaneamente?

Nel multi-threading, l'accesso alle risorse che sono condivise tra piรน thread puรฒ essere controllato utilizzando il concetto di sincronizzazione. Utilizzando parola chiave sincronizzata, possiamo garantire che solo un thread alla volta possa utilizzare la risorsa condivisa e gli altri possano ottenere il controllo della risorsa solo una volta che si รจ liberata dall'altro che la utilizza.


45) Possiamo chiamare piรน di una volta il costruttore di una classe per un oggetto?

Il costruttore viene chiamato automaticamente quando creiamo un oggetto utilizzando la nuova parola chiave. Viene chiamato solo una volta per un oggetto al momento della creazione dell'oggetto e quindi non possiamo invocare nuovamente il costruttore per un oggetto dopo la sua creazione.


46) Esistono due classi denominate classe A e classe B. Entrambe le classi sono nello stesso pacchetto. รˆ possibile accedere a un membro privato di classe A da un oggetto di classe B?

I membri privati โ€‹โ€‹di una classe non sono accessibili al di fuori dell'ambito di quella classe e qualsiasi altra classe, anche nello stesso pacchetto, non puรฒ accedervi.


47) Possiamo avere due metodi in una classe con lo stesso nome?

Possiamo definire due metodi in una classe con lo stesso nome ma con numero/tipo di parametri diversi. Il metodo da richiamare dipenderร  dai parametri passati.

Ad esempio nella classe seguente abbiamo due metodi di stampa con lo stesso nome ma parametri diversi. A seconda dei parametri, verrร  chiamato quello appropriato:

public class methodExample {

    public void print() {

        system.out.println("Print method without parameters.");

    }

    public void print(String name) {

        system.out.println("Print method with parameter");

    }

    public static void main(String args[]) {

        methodExample obj1 = new methodExample();

        obj1.print();

        obj1.print("xx");

    }

}

48) Come possiamo fare una copia di un oggetto Java?

Possiamo usare il concetto di clonazione per creare una copia di un oggetto. Usando clone, creiamo copie con lo stato attuale di un oggetto.

Clone() รจ un metodo dell'interfaccia Cloneable e quindi l'interfaccia Cloneable deve essere implementata per creare copie di oggetti.


49) Qual รจ il vantaggio di utilizzare l'ereditarietร ?

Il vantaggio principale dell'utilizzo dell'ereditarietร  รจ la riusabilitร  del codice poichรฉ l'ereditarietร  consente alle sottoclassi di riutilizzare il codice della sua superclasse. Il polimorfismo (estensibilitร ) รจ un altro grande vantaggio che consente di introdurre nuove funzionalitร  senza influenzare le classi derivate esistenti.


50) Qual รจ lo specificatore di accesso predefinito per variabili e metodi di una classe?

L'identificatore di accesso predefinito per variabili e metodo รจ protetto dal pacchetto, ovvero variabili e classe sono disponibili per qualsiasi altra classe ma nello stesso pacchetto, non all'esterno del pacchetto.


51) Fornisci un esempio di utilizzo dei Puntatori in Java classe.

Non ci sono indicazioni Java. Quindi non possiamo usare il concetto di puntatori in Java.


52) Come possiamo limitare l'ereditarietร  di una classe in modo che nessuna classe possa essere ereditata da essa?

Se vogliamo che una classe non venga ulteriormente estesa da nessuna classe, possiamo usare la parola chiave fine con il nome della classe.

Nell'esempio seguente, la classe Stone รจ Final e non puรฒ essere estesa

public Final Class Stone {
	// Class methods and Variables
}

53) Qual รจ l'ambito di accesso dello specificatore di accesso protetto?

Quando un metodo o una variabile viene dichiarato con lo specificatore di accesso protetto, diventa accessibile nella stessa classe, in qualsiasi altra classe dello stesso pacchetto e in una sottoclasse.

Modificare Classe CONFEZIONE sottoclasse Le migliori localitร 
la percezione Y Y Y Y
protetta Y Y Y N
nessun modificatore Y Y N N
tour privati Y N N N

54) Qual รจ la differenza tra Stack e Queue?

Stack e Queue vengono entrambi utilizzati come segnaposto per una raccolta di dati. La differenza principale tra uno stack e una coda รจ che lo stack si basa sul principio Last in First out (LIFO) mentre una coda si basa sul principio FIFO (First In First Out).


55) In Java, come possiamo impedire la serializzazione delle variabili?

Se vogliamo che alcune variabili di una classe non siano serializzate, possiamo usare la parola chiave transitorio mentre li dichiarano. Ad esempio, la variabile trans_var riportata di seguito รจ una variabile transitoria e non puรฒ essere serializzata:

public class transientExample { 
	private transient trans_var; 
    // rest of the code 
}

56) Come possiamo utilizzare tipi di dati primitivi come oggetti?

I tipi di dati primitivi come int possono essere gestiti come oggetti utilizzando le rispettive classi wrapper. Ad esempio, Integer รจ una classe wrapper per il tipo di dati primitivo int. Possiamo applicare diversi metodi a una classe wrapper, proprio come qualsiasi altro oggetto.


57) Quali tipi di eccezioni vengono rilevate in fase di compilazione?

Le eccezioni controllate possono essere intercettate al momento della compilazione del programma. Le eccezioni controllate devono essere gestite utilizzando il blocco try catch nel codice per poter compilare correttamente il codice.


58) Descrivere i diversi stati di un thread.

Un filo dentro Java puรฒ trovarsi in uno dei seguenti stati:

  • Pronto: quando viene creato un thread, รจ nello stato Pronto.
  • In esecuzione: un thread attualmente in esecuzione รจ in stato di esecuzione.
  • In attesa: un thread in attesa che un altro thread liberi determinate risorse รจ in stato di attesa.
  • Morto: un thread che รจ morto dopo l'esecuzione รจ in stato morto.

59) Possiamo usare un costruttore predefinito di una classe anche se รจ definito un costruttore esplicito?

Java fornisce un costruttore predefinito senza argomenti se non รจ definito alcun costruttore esplicito in a Java classe. Ma se รจ stato definito un costruttore esplicito, il costruttore predefinito non puรฒ essere richiamato e lo sviluppatore puรฒ utilizzare solo i costruttori definiti nella classe.


60) Possiamo sovrascrivere un metodo utilizzando lo stesso nome e argomenti del metodo ma tipi di ritorno diversi?

La condizione di base per l'override del metodo รจ che il nome del metodo, gli argomenti e il tipo restituito debbano essere esattamente uguali a quelli del metodo da sovrascrivere. Pertanto l'utilizzo di un tipo restituito diverso non sovrascrive un metodo.


61) Quale sarร  l'output del seguente pezzo di codice?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

        system.out.println(x++);
	}
}

In questo caso viene utilizzato l'operatore suffisso ++ che prima restituisce il valore e poi lo incrementa. Quindi il suo output sarร  4.


61) Una persona dice di aver compilato con successo una classe Java senza nemmeno avere un metodo main al suo interno? รˆ possibile?

Il metodo main รจ un punto di ingresso di Java class ed รจ comunque necessario per l'esecuzione del programma; una classe viene compilata con successo anche se non ha un metodo main. Non puรฒ essere eseguito perรฒ.


62) Possiamo chiamare un metodo non statico dall'interno di un metodo statico?

I metodi non statici sono di proprietร  di oggetti di una classe e hanno un ambito a livello di oggetto e per chiamare i metodi non statici da un blocco statico (come da un metodo principale statico), รจ necessario prima creare un oggetto della classe. Quindi, utilizzando il riferimento all'oggetto, รจ possibile richiamare questi metodi.


63) Quali sono le due variabili d'ambiente che devono essere impostate per poterne eseguire qualsiasi Java programmi?

Java i programmi possono essere eseguiti in una macchina solo dopo che sono state impostate correttamente le seguenti due variabili di ambiente:

  1. PATH variabile
  2. Variabile CLASSPATH

64) รˆ possibile utilizzare variabili in Java senza inizializzazione?

In Java, se una variabile viene utilizzata in un codice senza previa inizializzazione con un valore valido, il programma non viene compilato e restituisce un errore poichรฉ non viene assegnato alcun valore predefinito alle variabili in Java.


65) Puรฒ una lezione entrare Java essere ereditato da piรน di una classe?

In Java, una classe puรฒ essere derivata da una sola classe e non da piรน classi. Le ereditร  multiple non sono supportate da Java.


66) Un costruttore puรฒ avere un nome diverso dal nome di una classe in Java?

Costruttore dentro Java deve avere lo stesso nome del nome della classe e se il nome รจ diverso, non funge da costruttore e il compilatore lo considera un metodo normale.


67) Quale sarร  l'output di Round(3.7) e Ceil(3.7)?

Round(3.7) restituisce 4 e Ceil(3.7) restituisce 4.


68) Possiamo usare goto in Java andare su una linea particolare?

In Java, non esiste la parola chiave goto e Java non supporta questa funzionalitร  di andare a una particolare riga etichettata.


69) Si puรฒ ricominciare un thread morto?

In Java, un thread che รจ in stato morto non puรฒ essere riavviato. Non c'รจ modo di riavviare un thread morto.


70) La seguente dichiarazione di classe รจ corretta?

public abstract final class testClass {
	// Class methods and variables
}

Risposta: La dichiarazione di classe sopra riportata รจ errata in quanto assolutatracLa classe t non puรฒ essere dichiarata come Final.


71) รˆ necessario JDK su ciascuna macchina per eseguire a Java programma?

JDK รจ il kit di sviluppo di Java ed รจ richiesto solo per lo sviluppo e per eseguire a Java programma su una macchina, JDK non รจ richiesto. รˆ richiesto solo JRE.


72) Qual รจ la differenza tra il confronto fatto con il metodo uguale e l'operatore ==?

In JavaIl metodo equals() viene utilizzato per confrontare il contenuto di due oggetti stringa e restituisce true se i due hanno lo stesso valore, mentre l'operatore == confronta i riferimenti di due oggetti stringa.

Nell'esempio seguente, equals() restituisce true poichรฉ i due oggetti stringa hanno gli stessi valori. Tuttavia l'operatore == restituisce false poichรฉ entrambi gli oggetti stringa fanno riferimento a oggetti diversi:

public class equalsTest {

    public static void main(String args[]) {

        String str1 = new String("Hello World");

        String str2 = new String("Hello World");

        if (str1.equals(str2))

        { // this condition is true

            System.out.println("str1 and str2 are equal in terms of values");

        }

        if (str1 == str2) {

            //This condition is true

            System.out.println("Both strings are referencing same object");

        } else

        {

            // This condition is NOT true

            System.out.println("Both strings are referencing different objects");

        }

    }

}

73) E' possibile definire un metodo in Java class ma fornisci la sua implementazione nel codice di un altro linguaggio come C?

Sรฌ, possiamo farlo utilizzando metodi nativi. In caso di sviluppo basato su metodi nativi, definiamo metodi statici pubblici nel nostro Java class senza la sua implementazione e quindi l'implementazione viene eseguita separatamente in un altro linguaggio come C.


74) Come sono definiti i distruttori in Java?

In Java, non ci sono distruttori definiti nella classe poichรฉ non รจ necessario farlo. Java ha il proprio meccanismo di raccolta dei rifiuti che svolge il lavoro automaticamente distruggendo gli oggetti quando non vengono piรน referenziati.


Java Domande e risposte all'intervista per oltre 5 anni di esperienza

75) Una variabile puรฒ essere locale e statica allo stesso tempo?

No, una variabile non puรฒ essere statica e locale allo stesso tempo. La definizione di una variabile locale come statica genera un errore di compilazione.


76) Possiamo avere metodi statici in un'interfaccia?

I metodi statici non possono essere sovrascritti in nessuna classe, mentre tutti i metodi in un'interfaccia sono per impostazione predefinita assolutitract e dovrebbero essere implementati nelle classi che implementano l'interfaccia. Quindi non ha senso avere metodi statici in un'interfaccia in Java.


77) In una classe che implementa un'interfaccia, possiamo cambiare il valore di qualsiasi variabile definita nell'interfaccia?

No, non possiamo modificare il valore di nessuna variabile di un'interfaccia nella classe di implementazione, poichรฉ tutte le variabili definite nell'interfaccia sono per impostazione predefinita pubbliche, statiche e finali. Le variabili finali sono come costanti che non possono essere modificate in seguito.


78) รˆ corretto affermare che a causa della funzionalitร  di garbage collection presente in Java, un programma Java non esce mai dalla memoria?

Anche se la raccolta automatica dei rifiuti รจ fornita da Java, non garantisce che a Java il programma non esaurirร  la memoria poichรฉ esiste la possibilitร  che la creazione di Java Gli oggetti vengono eseguiti a un ritmo piรน veloce rispetto alla garbage collection, con conseguente riempimento di tutte le risorse di memoria disponibili.

Pertanto, la garbage collection aiuta a ridurre le possibilitร  che un programma esaurisca la memoria, ma non lo garantisce.


79) Possiamo avere un tipo di reso diverso da void per il metodo principale?

No, Java Il metodo main della classe puรฒ avere solo il tipo di ritorno void affinchรฉ il programma venga eseguito con successo.

Tuttavia, se devi assolutamente restituire un valore al completamento del metodo main, puoi utilizzare System.exit(int status)


80) Voglio raggiungere nuovamente e utilizzare un oggetto una volta che รจ stato raccolto dai rifiuti. Com'รจ possibile?

Una volta che un oggetto รจ stato distrutto dal Garbage Collector, non esiste piรน nell'heap e non รจ piรน possibile accedervi. Non รจ possibile fare nuovamente riferimento ad esso.


81) Dentro Java programmazione dei thread, quale metodo รจ un'implementazione obbligatoria per tutti i thread?

Run() รจ un metodo dell'interfaccia Runnable che deve essere implementato da tutti i thread.


82) Voglio controllare le connessioni al database nel mio programma e voglio che solo un thread alla volta sia in grado di effettuare la connessione al database. Come posso implementare questa logica?

Risposta: Questo puรฒ essere implementato tramite l'uso del concetto di sincronizzazione. Il codice correlato al database puรฒ essere inserito in un metodo che hs sincronizzato parola chiave in modo che solo un thread alla volta possa accedervi.


83) Come puรฒ un'eccezione essere lanciata manualmente da un programmatore?

Per lanciare manualmente un'eccezione in un blocco di codice, gettare viene utilizzata la parola chiave. Quindi questa eccezione viene catturata e gestita nel blocco catch.

public void topMethod() {
    try {
        excMethod();
    } catch (ManualException e) {}
}

public void excMethod {
    String name = null;
    if (name == null) {
        throw (new ManualException("Exception thrown manually ");
        }
    }

84) Voglio che la mia classe sia sviluppata in modo tale che nessun'altra classe (nemmeno una classe derivata) possa creare i suoi oggetti. Come posso farlo?

Se dichiariamo privato il costruttore di una classe, non sarร  accessibile a nessun'altra classe e quindi nessun'altra classe sarร  in grado di istanziarlo e la formazione del suo oggetto sarร  limitata solo a se stessa.


85) Come vengono conservati gli oggetti Java?

In Java, ogni oggetto quando viene creato ottiene uno spazio di memoria da un heap. Quando un oggetto viene distrutto da un garbage collector, lo spazio ad esso allocato dall'heap viene riassegnato all'heap e diventa disponibile per eventuali nuovi oggetti.


86) Come possiamo trovare la dimensione effettiva di un oggetto nell'heap?

In Java non c'รจ modo di scoprire la dimensione esatta di un oggetto nell'heap.


87) Quale delle seguenti classi avrร  piรน memoria allocata?

Classe A: tre metodi, quattro variabili, nessun oggetto

Classe B: cinque metodi, tre variabili, nessun oggetto

La memoria non viene allocata prima della creazione degli oggetti. Poichรฉ per entrambe le classi non vengono creati oggetti, non viene allocata memoria sull'heap per nessuna classe.


88) Cosa succede se un'eccezione non viene gestita in un programma?

Se un'eccezione non viene gestita in un programma utilizzando i blocchi try-catch, il programma viene interrotto e non viene eseguita alcuna istruzione dopo quella che ha causato l'eccezione.


89) Ho piรน costruttori definiti in una classe. รˆ possibile chiamare un costruttore dal corpo di un altro costruttore?

Se una classe ha piรน costruttori, รจ possibile richiamare un costruttore dal corpo di un altro utilizzando Questo().


90) Cosa si intende per classe anonima?

Una classe anonima รจ una classe definita senza alcun nome in una singola riga di codice utilizzando la nuova parola chiave.

Ad esempio, nel codice seguente abbiamo definito una classe anonima in una riga di codice:

public java.util.Enumeration testMethod()

{

    return new java.util.Enumeration()

    {

        @Override

        public boolean hasMoreElements()

        {

            // TODO Auto-generated method stub

            return false;

        }

        @Override

        public Object nextElement()

        {

            // TODO Auto-generated method stub

            return null;

        }

    }

91) Esiste un modo per aumentare la dimensione di un array dopo la sua dichiarazione?

Gli array sono statici e una volta specificata la loro dimensione, non possiamo modificarla. Se vogliamo utilizzare raccolte in cui potremmo richiedere un cambiamento di dimensione (n. di elementi), dovremmo preferire il vettore all'array.


92) Se un'applicazione contiene piรน classi, รจ corretto avere un metodo main in piรน di una classe?

Se รจ presente un metodo main in piรน di una classe in un'applicazione Java, ciรฒ non causerร  alcun problema poichรฉ il punto di ingresso per qualsiasi applicazione sarร  una classe specifica e il codice inizierร  solo dal metodo main di quella particolare classe.


93) Voglio rendere persistenti i dati degli oggetti per un uso successivo. Qual รจ l'approccio migliore per farlo?

Il modo migliore per rendere persistenti i dati per un uso futuro รจ utilizzare il concetto di serializzazione.


94) In cosa consiste una lezione locale Java?

In Java, se definiamo una nuova classe all'interno di un particolare blocco, si chiama classe locale. Tale classe ha ambito locale e non รจ utilizzabile al di fuori del blocco in cui รจ definita.


95) Corda e CordaBuffer entrambi rappresentano oggetti String. Possiamo confrontare String e StringBuffer in Java?

Sebbene String e StringBuffer entrambi rappresentano oggetti String, non possiamo confrontarli tra loro e se proviamo a confrontarli, otteniamo un errore.


96) Da quale API viene fornita Java per operazioni su insiemi di oggetti?

Java fornisce un'API di raccolta che fornisce molti metodi utili che possono essere applicati a un insieme di oggetti. Alcune delle classi importanti fornite dall'API Collection includono ArrayList, HashMap, TreeSet e TreeMap.


97) Possiamo eseguire il cast di qualsiasi altro tipo su Boolean Type con il type casting?

No, non possiamo nรฉ eseguire il cast di nessun altro tipo primitivo sul tipo di dati booleano nรฉ possiamo eseguire il cast del tipo di dati booleano su qualsiasi altro tipo di dati primitivo.


98) Possiamo utilizzare diversi tipi di ritorno per i metodi quando vengono sovrascritti?

Il requisito fondamentale del metodo che prevale in Java รจ che il metodo sottoposto a override dovrebbe avere lo stesso nome e parametri. Ma un metodo puรฒ essere sovrascritto con un tipo restituito diverso purchรฉ il nuovo tipo restituito estenda l'originale.

Ad esempio, il metodo restituisce un tipo di riferimento.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) Qual รจ la classe base di tutte le classi di eccezioni?

In Java, Java.lang.Throwable รจ la superclasse di tutte le classi di eccezione e tutte le classi di eccezione derivano da questa classe base: un concetto di gerarchia che appare anche in molti Domande del colloquio OOPS turni.


100) Qual รจ l'ordine di chiamata dei costruttori in ereditarietร ?

In caso di ereditarietร , quando viene creato un nuovo oggetto di una classe derivata, viene invocato prima il costruttore della superclasse e poi quello della classe derivata.

Preparati per il tuo colloquio di lavoro!!! Vai oltre Java Tutorial per essere meglio preparati.

Questo dettagliato Java Mock Test Quiz ti aiuterร  a chiarire i dubbi in merito Java domande dell'intervista e ti aiuterร  anche a risolvere l'intervista.

Alcuni degli Java and Java 8 domande per l'intervista ti aiuterร  anche nella tua viva(orale)

Riassumi questo post con: