Livello di difficoltà: intermedio
Prevedere l'output dei seguenti programmi Java.
carattere in Java
Programma 1: Concatenamento di costruttori
Java
class First { public First() { System.out.println('a'); } } class Second extends First { public Second() { System.out.println('b'); } } class Third extends Second { public Third() { System.out.println('c'); } } public class MainClass { public static void main(String[] args) { Third c = new Third(); } }
Produzione
a b c
Spiegazione: Quando viene creato un oggetto 'Terzo' prima di chiamare il costruttore predefinito di Terzo class il costruttore predefinito della super classe, ad es. Secondo viene chiamata la classe e poi di nuovo prima del costruttore predefinito della super classe costruttore predefinito di Primo viene chiamata la classe. E quindi l'output è nell'ordine abc.
Programma 2: Inizializzazione delle variabili ed esecuzione del costruttore
Javaclass First { int i = 10; public First(int j) { System.out.println(i); this.i = j * 10; } } class Second extends First { public Second(int j) { super(j); System.out.println(i); this.i = j * 20; } } public class MainClass { public static void main(String[] args) { Second n = new Second(20); System.out.println(n.i); } }
Produzione
10 200 400
Spiegazione: Poiché nella classe 'Seconda' non ha una propria 'i', la variabile viene ereditata dalla super classe. Anche il costruttore di parent viene chiamato quando creiamo un oggetto di Secondo.
Programma 3: istanza di con Iteratori
Javaimport java.util.*; class Geeks { public static void main (String[] args) { Object i = new ArrayList().iterator(); System.out.print((i instanceof List) + ' '); System.out.print((i instanceof Iterator) + ' '); System.out.print(i instanceof ListIterator); } }
Produzione
false true false
Spiegazione: IL iteratore() Il metodo restituisce un iteratore sugli elementi nell'elenco nella sequenza corretta, non restituisce un oggetto List o ListIterator. UN ListIterator può essere ottenuto invocando il metodo listIterator.
come convertire una stringa in intero in Java
Programma 4: eccezione di avvio e arresto del thread
Javaclass ThreadEx extends Thread { public void run() { System.out.print('Hello...'); } public static void main(String args[]) { ThreadEx T1 = new ThreadEx(); T1.start(); T1.stop(); T1.start(); } }
Produzione:
Run Time Exception
Spiegazione: Un thread non può essere avviato più di una volta. Chiamando inizio() metodo su un thread interrotto causa IllegalThreadStateException .