Nível de dificuldade: intermediário
Preveja a saída dos seguintes programas Java.
número java para string
Programa 1: Encadeamento de Construtores
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(); } }
Saída
a b c
Explicação: Quando um objeto 'Terceiro' é criado antes de chamar o construtor padrão de Terceiro class o construtor padrão da superclasse, ou seja, Segundo classe é chamada e novamente antes do construtor padrão da superclasse construtor padrão de Primeiro classe é chamada. E, portanto, a saída está na ordem a b c.
Programa 2: Inicialização de Variável e Execução de Construtor
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); } }
Saída
10 200 400
Explicação: Como na classe 'Segunda' não possui 'i' próprio, a variável é herdada da superclasse. Além disso, o construtor de parent é chamado quando criamos um objeto de Segundo.
Programa 3: instância com Iteradores
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); } }
Saída
false true false
Explicação: O iterador() O método retorna um iterador sobre os elementos da lista na sequência adequada; ele não retorna um objeto List ou ListIterator. UM ListIterator pode ser obtido invocando o método listIterator.
10 de 50,00
Programa 4: Exceção de Início e Parada de 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(); } }
Saída:
Run Time Exception
Explicação: Um thread não pode ser iniciado mais de uma vez. Chamando começar() método em um thread interrompido causa IllegalThreadStateException .