100+ Java Perguntas e respostas da entrevista (2026)

Aqui estรฃo Java entreviste perguntas e respostas para candidatos mais novos e experientes para conseguir o emprego dos sonhos.

 

Java Programaรงรฃo de perguntas e respostas de entrevistas para calouros

1) Qual รฉ a diferenรงa entre uma Classe Interna e uma Subclasse?

Uma classe interna รฉ uma classe aninhada em outra classe. Uma classe interna tem direitos de acesso para a classe que a estรก aninhando e pode acessar todas as variรกveis โ€‹โ€‹e mรฉtodos definidos na classe externa.

Uma subclasse รฉ uma classe que herda de outra classe chamada superclasse. A subclasse pode acessar todos os mรฉtodos e campos pรบblicos e protegidos de sua superclasse.

๐Ÿ‘‰ Download gratuito de PDF: Java Perguntas e respostas da entrevista >>


2) Quais sรฃo os vรกrios especificadores de acesso para Java aulas?

In Java, os especificadores de acesso sรฃo as palavras-chave usadas antes de um nome de classe que define o escopo de acesso. Os tipos de especificadores de acesso para classes sรฃo:

1) Pรบblico: Classe, Mรฉtodo, Campo sรฃo acessรญveis de qualquer lugar.

2) Protegido: Mรฉtodo, Campo podem ser acessados โ€‹โ€‹โ€‹โ€‹da mesma classe a que pertencem ou das subclasses, e da classe do mesmo pacote, mas nรฃo de fora.

3) Padrรฃo: Mรฉtodo, campo, classe podem ser acessados โ€‹โ€‹apenas do mesmo pacote e nรฃo de fora de seu pacote nativo.

4) Privado: Mรฉtodo, Campo podem ser acessados โ€‹โ€‹โ€‹โ€‹da mesma classe ร  qual pertencem.


3) Qual รฉ a finalidade dos mรฉtodos estรกticos e das variรกveis โ€‹โ€‹estรกticas?

Quando hรก um requisito para compartilhar um mรฉtodo ou variรกvel entre vรกrios objetos de uma classe em vez de criar cรณpias separadas para cada objeto, usamos a palavra-chave estรกtica para tornar um mรฉtodo ou variรกvel compartilhado para todos os objetos.


4) O que รฉ encapsulamento de dados e qual o seu significado?

Encapsulamento รฉ um conceito em Programaรงรฃo Orientada a Objetos para combinar propriedades e mรฉtodos em uma รบnica unidade.

O encapsulamento ajuda os programadores a seguir uma abordagem modular para o desenvolvimento de software, pois cada objeto possui seu prรณprio conjunto de mรฉtodos e variรกveis โ€‹โ€‹e executa suas funรงรตes independentemente de outros objetos. O encapsulamento tambรฉm serve para ocultar dados.


5) O que รฉ uma classe singleton? Dรช um exemplo prรกtico de seu uso.

Uma classe singleton em java pode ter apenas uma instรขncia e, portanto, todos os seus mรฉtodos e variรกveis โ€‹โ€‹pertencem a apenas uma instรขncia. O conceito de classe singleton รฉ รบtil para situaรงรตes em que hรก necessidade de limitar o nรบmero de objetos para uma classe.

O melhor exemplo de cenรกrio de uso singleton รฉ quando hรก um limite de ter apenas uma conexรฃo com um banco de dados devido a algumas limitaรงรตes de driver ou devido a quaisquer problemas de licenciamento.


6) O que sรฃo Loops Java? Quais sรฃo os trรชs tipos de loops?

Looping รฉ usado em programaรงรฃo para executar uma instruรงรฃo ou bloco de instruรงรฃo repetidamente. Hรก trรชs tipos de loops em Java:

1) Para Loops

Loops For sรฃo usados โ€‹โ€‹em Java para executar instruรงรตes repetidamente por um determinado nรบmero de vezes. Os loops For sรฃo usados โ€‹โ€‹quando o nรบmero de vezes para executar as instruรงรตes รฉ conhecido pelo programador.

2) Enquanto Loops

O loop while รฉ usado quando certas instruรงรตes precisam ser executadas repetidamente atรฉ que uma condiรงรฃo seja atendida. Em loops while, a condiรงรฃo รฉ verificada primeiro, antes da execuรงรฃo das instruรงรตes.

3) Faรงa loops while

Do While Loop รฉ igual ao loop While, com a รบnica diferenรงa de que a condiรงรฃo รฉ verificada apรณs a execuรงรฃo do bloco de instruรงรตes. Portanto, no caso do loop do while, as instruรงรตes sรฃo executadas pelo menos uma vez.


7) O que รฉ um Loop infinito? Como o loop infinito รฉ declarado?

Um loop infinito รฉ executado sem qualquer condiรงรฃo e infinitamente. Um loop infinito pode ser quebrado definindo qualquer lรณgica de quebra no corpo dos blocos de instruรงรตes.

O loop infinito รฉ declarado da seguinte forma:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) Qual รฉ a diferenรงa entre as instruรงรตes continue e break?

break e continue sรฃo duas palavras-chave importantes usadas em Loops. Quando uma palavra-chave break รฉ usada em um loop, o loop รฉ interrompido instantaneamente, enquanto quando a palavra-chave continue รฉ usada, a iteraรงรฃo atual รฉ interrompida e o loop continua com a prรณxima iteraรงรฃo.

No exemplo abaixo, o Loop รฉ interrompido quando o contador chega a 4.

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

if (counter == 4) {

    break;
}

}

No exemplo abaixo, quando o contador atinge 4, o loop salta para a prรณxima iteraรงรฃo e quaisquer instruรงรตes apรณs a palavra-chave continue sรฃo ignoradas na iteraรงรฃo atual.

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 รฉ a diferenรงa entre variรกveis โ€‹โ€‹double e float em Java?

Em java, float ocupa 4 bytes de memรณria enquanto Double ocupa 8 bytes na memรณria. Float รฉ um nรบmero decimal de ponto flutuante de precisรฃo รบnica enquanto Double รฉ um nรบmero decimal de precisรฃo dupla.


10) Qual รฉ a palavra-chave final em Java? Dรช um exemplo.

Em java, uma constante รฉ declarada usando a palavra-chave Final. O valor pode ser atribuรญdo apenas uma vez e apรณs a atribuiรงรฃo, o valor de uma constante nรฃo pode ser alterado.

No exemplo abaixo, uma constante com o nome const_val รฉ declarada e recebe um valor:

Final Privado int const_val=100

Quando um mรฉtodo รฉ declarado como final, NรƒO pode ser substituรญdo pelas subclasses. Este mรฉtodo รฉ mais rรกpido que qualquer outro mรฉtodo, pois sรฃo resolvidos no prazo obedecido.

Quando uma classe รฉ declarada como final, ela nรฃo pode ser subclassificada. Exemplo de String, Integer e outras classes wrapper.


11) O que รฉ operador ternรกrio? Dรช um exemplo.

Operador ternรกrio, tambรฉm chamado de operador condicional, รฉ usado para decidir qual valor atribuir a uma variรกvel com base em uma avaliaรงรฃo de valor booleano. ร‰ denotado como ?

No exemplo abaixo, se a classificaรงรฃo for 1, o status receberรก o valor โ€œConcluรญdoโ€, caso contrรกrio, โ€œPendenteโ€.

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

12) Como vocรช pode gerar nรบmeros aleatรณrios em Java?

  • Usando Math.random() vocรช pode gerar nรบmeros aleatรณrios no intervalo maior ou igual a 0.1 e menor que 1.0
  • Usando a classe Random no pacote java.util

13) Qual รฉ o switch case padrรฃo? Dรช exemplo.

Em um artigo do instruรงรฃo switch, o caso padrรฃo รฉ executado quando nenhuma outra condiรงรฃo de chave corresponde. O caso padrรฃo รฉ um caso opcional. Ele pode ser declarado apenas depois que todos os outros casos de switch forem codificados.

No exemplo abaixo, quando a pontuaรงรฃo nรฃo รฉ 1 ou 2, o caso padrรฃo รฉ usado.

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) Qual รฉ a classe base Java do qual todas as classes sรฃo derivadas?

java.lang.object


15) O mรฉtodo main() pode ser usado Java pode retornar algum dado?

Em java, o mรฉtodo main() nรฃo pode retornar nenhum dado e, portanto, รฉ sempre declarado com um tipo de retorno void.


16) O que sรฃo Java Pacotes? Qual รฉ o significado dos pacotes?

In Java, pacote รฉ uma coleรงรฃo de classes e interfaces que sรฃo agrupadas ร  medida que sรฃo relacionadas entre si. O uso de pacotes ajuda os desenvolvedores a modularizar o cรณdigo e agrupรก-lo para reutilizaรงรฃo adequada. Depois que o cรณdigo for empacotado em Pacotes, ele poderรก ser importado em outras classes e usado.


17) Podemos declarar uma classe como Abstrata sem ter nenhum mรฉtodo abstrato?

Sim, podemos criar uma classe abstrata usando a palavra-chave abstrata antes do nome da classe, mesmo que ela nรฃo tenha nenhum mรฉtodo abstrato. No entanto, se uma classe tiver pelo menos um mรฉtodo abstrato, ela deve ser declarada como abstrata, caso contrรกrio ocorrerรก um erro.


18) Qual รฉ a diferenรงa entre uma classe abstrata e uma interface em Java?

A principal diferenรงa entre uma classe abstrata e uma interface รฉ que uma interface sรณ pode possuir declaraรงรฃo de mรฉtodos estรกticos pรบblicos sem implementaรงรฃo concreta, enquanto uma classe abstrata pode ter membros com qualquer especificador de acesso (pรบblico, privado, etc.) com ou sem implementaรงรฃo concreta.

Outra diferenรงa importante no uso de classes e interfaces abstratas รฉ que uma classe que implementa uma interface deve implementar todos os mรฉtodos da interface, enquanto uma classe que herda de uma classe abstrata nรฃo requer implementaรงรฃo de todos os mรฉtodos de sua superclasse.

Uma classe pode implementar mรบltiplas interfaces, mas pode estender apenas uma classe abstrata.


19) Quais sรฃo as implicaรงรตes de desempenho das Interfaces sobre classes abstratas?

As interfaces tรชm desempenho mais lento em comparaรงรฃo com classes abstratas, pois sรฃo necessรกrias indireรงรตes extras para interfaces. Outro fator importante que os desenvolvedores devem levar em consideraรงรฃo รฉ que qualquer classe pode estender apenas uma classe abstrata, enquanto uma classe pode implementar muitas interfaces.

O uso de interfaces tambรฉm impรตe uma carga extra aos desenvolvedores, pois sempre que uma interface รฉ implementada em uma classe; o desenvolvedor รฉ forรงado a implementar todo e qualquer mรฉtodo de interface.


20) A importaรงรฃo de um pacote tambรฉm importa seus subpacotes em Java?

Em Java, quando um pacote รฉ importado, seus subpacotes nรฃo sรฃo importados e o desenvolvedor precisa importรก-los separadamente, se necessรกrio.

Por exemplo, se um desenvolvedor importar um pacote university.*, todas as aulas do pacote chamado university serรฃo carregadas, mas nenhuma aula do subpacote serรก carregada. Para carregar as classes de seu subpacote (digamos, departamento), o desenvolvedor deve importรก-lo explicitamente da seguinte forma:

Importar universidade.departamento.*


21) Podemos declarar o mรฉtodo principal da nossa classe como privado?

Em java, o mรฉtodo principal deve ser pรบblico estรกtico para executar qualquer aplicativo corretamente. Se o mรฉtodo principal for declarado como privado, o desenvolvedor nรฃo receberรก nenhum erro de compilaรงรฃo, porรฉm, ele nรฃo serรก executado e causarรก um erro de tempo de execuรงรฃo.


22) Como podemos passar argumentos para uma funรงรฃo por referรชncia em vez de passar por valor?

Em java, podemos passar argumentos para uma funรงรฃo apenas por valor e nรฃo por referรชncia.


23) Como um objeto รฉ serializado em java?

Em java, para converter um objeto em fluxo de bytes por serializaรงรฃo, uma interface com o nome Serializable รฉ implementada pela classe. Todos os objetos de uma classe que implementa interface serializรกvel sรฃo serializados e seu estado รฉ salvo no fluxo de bytes.


24) Quando devemos usar serializaรงรฃo?

A serializaรงรฃo รฉ usada quando os dados precisam ser transmitidos pela rede. Usando a serializaรงรฃo, o estado do objeto รฉ salvo e convertido em fluxo de bytes. O fluxo de bytes รฉ transferido pela rede e o objeto รฉ recriado no destino.


25) ร‰ obrigatรณrio que um Bloco Try seja seguido por um Bloco Catch em Java para tratamento de exceรงรตes?

O bloco Try precisa ser seguido pelo bloco Catch ou pelo bloco Finalmente ou ambos. Qualquer exceรงรฃo lanรงada do bloco try precisa ser capturada no bloco catch ou qualquer tarefa especรญfica a ser executada antes da interrupรงรฃo do cรณdigo ser colocada no bloco Finalmente.


Java Perguntas e respostas da entrevista para experientes

26) Existe alguma maneira de pular o bloco de exceรงรฃo Finalmente, mesmo que ocorra alguma exceรงรฃo no bloco de exceรงรฃo?

Se uma exceรงรฃo for gerada no bloco Try, o controle passa para o bloco catch, se existir, caso contrรกrio, para finalmente bloquear. O bloco Finalmente รฉ sempre executado quando ocorre uma exceรงรฃo e a รบnica maneira de evitar a execuรงรฃo de qualquer instruรงรฃo no bloco Finalmente รฉ abortar o cรณdigo ร  forรงa, escrevendo a seguinte linha de cรณdigo no final do bloco try:

System.exit(0);

27) Quando o construtor de uma classe รฉ invocado?

O construtor de uma classe รฉ invocado toda vez que um objeto รฉ criado com uma nova palavra-chave.

Por exemplo, na classe a seguir, dois objetos sรฃo criados usando a palavra-chave new e, portanto, o construtor รฉ invocado duas vezes.

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) Uma classe pode ter vรกrios construtores?

Sim, uma classe pode ter vรกrios construtores com parรขmetros diferentes. Qual construtor serรก usado para a criaรงรฃo de objetos depende dos argumentos passados โ€‹โ€‹durante a criaรงรฃo dos objetos.


29) Podemos substituir mรฉtodos estรกticos de uma classe?

Nรฃo podemos substituir mรฉtodos estรกticos. Os mรฉtodos estรกticos pertencem a uma classe e nรฃo a objetos individuais e sรฃo resolvidos no momento da compilaรงรฃo (nรฃo no tempo de execuรงรฃo). Mesmo se tentarmos substituir o mรฉtodo estรกtico, nรฃo obteremos um erro de compilaรงรฃo, nem o impacto da substituiรงรฃo ao executar o cรณdigo.


30) No exemplo abaixo, qual serรก o resultado?

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: A saรญda serรก:

Exibindo da subclasse

Imprimindo da superclasse


31) String รฉ um tipo de dados em java?

String nรฃo รฉ um tipo de dado primitivo em Java. Quando uma string รฉ criada em Java, ela รฉ na verdade um objeto de JavaClasse .Lang.String que รฉ criada. Apรณs a criaรงรฃo deste objeto string, todos os mรฉtodos integrados da classe String podem ser usados โ€‹โ€‹no objeto string.


32) No exemplo abaixo, quantos objetos String sรฃo criados?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

No exemplo acima, dois objetos de JavaA classe .Lang.String รฉ criada. s1 e s3 sรฃo referรชncias ao mesmo objeto.


33) Por que as Strings entram Java sรฃo chamados de imutรกveis?

Em java, os objetos string sรฃo chamados de imutรกveis, pois uma vez que o valor รฉ atribuรญdo a uma string, ele nรฃo pode ser alterado e, se alterado, um novo objeto รฉ criado.

No exemplo abaixo, a referรชncia str refere-se a um objeto string com valor โ€œValor umโ€.

String str="Value One";

Quando um novo valor รฉ atribuรญdo a ele, um novo objeto String รฉ criado e a referรชncia รฉ movida para o novo objeto.

str="New Value";

34) Qual รฉ a diferenรงa entre um array e um vetor?

Uma matriz agrupa dados do mesmo tipo primitivo e รฉ de natureza estรกtica, enquanto os vetores sรฃo de natureza dinรขmica e podem conter dados de diferentes tipos de dados.


35) O que รฉ multithreading?

Multi threading รฉ um conceito de programaรงรฃo para executar vรกrias tarefas de maneira simultรขnea em um รบnico programa. Threads compartilham a mesma pilha de processos e sรฃo executados em paralelo. Ajuda na melhoria do desempenho de qualquer programa.


36) Por que a Interface Executรกvel รฉ usada em Java?

A interface executรกvel รฉ usada em Java para implementar aplicativos multithread. JavaA interface .Lang.Runnable รฉ implementada por uma classe para suportar multi threading.


37) Quais sรฃo as duas maneiras de implementar multi-threading em Java?

Aplicaรงรตes multithread podem ser desenvolvidas em Java usando qualquer uma das duas metodologias a seguir:

1) Usando Java.Lang.Interface executรกvel. As classes implementam essa interface para permitir multithreading. Existe um mรฉtodo Run() nesta interface que estรก implementado.

2) Escrevendo uma classe que estende JavaClasse .Lang.Thread.


38) Quando sรฃo necessรกrias muitas alteraรงรตes nos dados, qual delas deve ser preferida? Corda ou CordaBuffer?

Desde StringBuffers sรฃo de natureza dinรขmica e podemos alterar os valores de StringBuffer objetos diferentes de String, que รฉ imutรกvel, รฉ sempre uma boa opรงรฃo usar StringBuffer quando os dados estรฃo sendo alterados demais. Se usarmos String nesse caso, para cada alteraรงรฃo de dados, um novo objeto String serรก criado, o que serรก uma sobrecarga extra.


39) Qual o propรณsito de usar Break em cada caso de instruรงรฃo Switch?

Break รฉ usado apรณs cada caso (exceto o รบltimo) em um switch para que o cรณdigo seja quebrado apรณs o caso vรกlido e nรฃo flua tambรฉm nos casos anteriores.

Se break nรฃo for usado apรณs cada caso, todos os casos apรณs o caso vรกlido tambรฉm serรฃo executados, resultando em resultados errados.


40) Como รฉ feita a coleta de lixo em Java?

Em java, quando um objeto nรฃo รฉ mais referenciado, coleta de lixo ocorre e o objeto รฉ destruรญdo automaticamente. Para coleta automรกtica de lixo, Java chama o mรฉtodo System.gc() ou o mรฉtodo Runtime.gc().


41) Como podemos executar qualquer cรณdigo antes mesmo do mรฉtodo principal?

Se quisermos executar alguma instruรงรฃo antes mesmo da criaรงรฃo de objetos no momento do carregamento da classe, podemos usar um bloco estรกtico de cรณdigo na classe. Quaisquer instruรงรตes dentro deste bloco estรกtico de cรณdigo serรฃo executadas uma vez no momento do carregamento da classe, mesmo antes da criaรงรฃo de objetos no mรฉtodo principal.


42) Uma classe pode ser uma superclasse e uma subclasse ao mesmo tempo? Dรช exemplo.

Se houver uma hierarquia de heranรงa utilizada, uma classe pode ser uma superclasse para outra classe e uma subclasse para outra ao mesmo tempo.

No exemplo abaixo, a classe continente รฉ uma subclasse da classe mundial e รฉ uma superclasse da classe paรญs.

public class world {

..........

}
public class continenet extends world {

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

}
public class country extends continent {

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

}

43) Como os objetos de uma classe sรฃo criados se nenhum construtor estiver definido na classe?

Mesmo que nenhum construtor explรญcito seja definido em uma classe java, os objetos sรฃo criados com sucesso, pois um construtor padrรฃo รฉ usado implicitamente para a criaรงรฃo de objetos. Este construtor nรฃo possui parรขmetros.


44) No multithreading, como podemos garantir que um recurso nรฃo seja usado por vรกrios threads simultaneamente?

No multithreading, o acesso aos recursos compartilhados entre vรกrios threads pode ser controlado usando o conceito de sincronizaรงรฃo. Usando palavra-chave sincronizada, podemos garantir que apenas um thread possa usar o recurso compartilhado por vez e outros possam obter o controle do recurso somente quando ele estiver livre do outro que o utiliza.


45) Podemos chamar o construtor de uma classe mais de uma vez para um objeto?

O construtor รฉ chamado automaticamente quando criamos um objeto usando a nova palavra-chave. Ele รฉ chamado apenas uma vez para um objeto no momento da criaรงรฃo do objeto e, portanto, nรฃo podemos invocar o construtor novamente para um objeto apรณs sua criaรงรฃo.


46) Existem duas classes denominadas classA e classB. Ambas as classes estรฃo no mesmo pacote. Um membro privado da classe A pode ser acessado por um objeto da classe B?

Membros privados de uma classe nรฃo sรฃo acessรญveis fora do escopo dessa classe e qualquer outra classe, mesmo no mesmo pacote, nรฃo pode acessรก-los.


47) Podemos ter dois mรฉtodos em uma classe com o mesmo nome?

Podemos definir dois mรฉtodos em uma classe com o mesmo nome, mas com nรบmero/tipo de parรขmetros diferentes. O mรฉtodo a ser invocado dependerรก dos parรขmetros passados.

Por exemplo, na classe abaixo temos dois mรฉtodos de impressรฃo com o mesmo nome, mas parรขmetros diferentes. Dependendo dos parรขmetros, o apropriado serรก chamado:

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) Como podemos fazer cรณpia de um objeto java?

Podemos usar o conceito de clonagem para criar uma cรณpia de um objeto. Usando clone, criamos cรณpias com o estado real de um objeto.

Clone() รฉ um mรฉtodo de interface Cloneable e, portanto, a interface Cloneable precisa ser implementada para fazer cรณpias de objetos.


49) Qual รฉ a vantagem de usar heranรงa?

O principal benefรญcio do uso da heranรงa รฉ a reutilizaรงรฃo do cรณdigo, pois a heranรงa permite que as subclasses reutilizem o cรณdigo de sua superclasse. O polimorfismo (extensibilidade) รฉ outro grande benefรญcio que permite a introduรงรฃo de novas funcionalidades sem afetar as classes derivadas existentes.


50) Qual รฉ o especificador de acesso padrรฃo para variรกveis โ€‹โ€‹e mรฉtodos de uma classe?

O especificador de acesso padrรฃo para variรกveis โ€‹โ€‹e mรฉtodos รฉ protegido por pacote, ou seja, variรกveis โ€‹โ€‹e classes estรฃo disponรญveis para qualquer outra classe, mas no mesmo pacote, nรฃo fora do pacote.


51) Dรช um exemplo de uso de ponteiros em Java classe.

Nรฃo hรก indicaรงรตes Java. Portanto, nรฃo podemos usar o conceito de ponteiros em Java.


52) Como podemos restringir a heranรงa de uma classe para que nenhuma classe possa ser herdada dela?

Se quisermos que uma classe nรฃo seja estendida por nenhuma classe, podemos usar a palavra-chave final com o nome da classe.

No exemplo a seguir, a classe Stone รฉ Final e nรฃo pode ser estendida

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

53) Qual รฉ o escopo de acesso do especificador de Acesso Protegido?

Quando um mรฉtodo ou variรกvel รฉ declarado com especificador de acesso protegido, ele se torna acessรญvel na mesma classe, em qualquer outra classe do mesmo pacote, bem como em uma subclasse.

Modificar Aula Pacote Subclasse Mundo
pรบblico Y Y Y Y
protegido Y Y Y N
sem modificador Y Y N N
investidores privados Y N N N

54) Qual a diferenรงa entre Pilha e Fila?

Stack e Queue sรฃo usados โ€‹โ€‹como espaรงo reservado para uma coleรงรฃo de dados. A principal diferenรงa entre uma pilha e uma fila รฉ que a pilha รฉ baseada no princรญpio Last in First out (LIFO), enquanto uma fila รฉ baseada no princรญpio FIFO (First In First Out).


55) Em java, como podemos proibir a serializaรงรฃo de variรกveis?

Se quisermos que certas variรกveis โ€‹โ€‹de uma classe nรฃo sejam serializadas, podemos usar a palavra-chave transitรณrio ao declarรก-los. Por exemplo, a variรกvel trans_var abaixo รฉ uma variรกvel transitรณria e nรฃo pode ser serializada:

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

56) Como podemos usar tipos de dados primitivos como objetos?

Tipos de dados primitivos como int podem ser tratados como objetos pelo uso de suas respectivas classes wrapper. Por exemplo, Integer รฉ uma classe wrapper para o tipo de dados primitivo int. Podemos aplicar mรฉtodos diferentes a uma classe wrapper, como qualquer outro objeto.


57) Quais tipos de exceรงรตes sรฃo capturadas em tempo de compilaรงรฃo?

As exceรงรตes verificadas podem ser detectadas no momento da compilaรงรฃo do programa. As exceรงรตes verificadas devem ser tratadas usando o bloco try catch no cรณdigo para compilar o cรณdigo com รชxito.


58) Descreva os diferentes estados de um thread.

Um tรณpico em Java pode estar em qualquer um dos seguintes estados:

  • Pronto: quando um thread รฉ criado, ele estรก no estado Pronto.
  • Em execuรงรฃo: um thread que estรก sendo executado atualmente estรก em estado de execuรงรฃo.
  • Esperando: um thread aguardando outro thread para liberar determinados recursos estรก em estado de espera.
  • Morto: um thread que morreu apรณs a execuรงรฃo estรก em estado morto.

59) Podemos usar um construtor padrรฃo de uma classe mesmo se um construtor explรญcito for definido?

Java fornece um construtor padrรฃo sem argumento se nenhum construtor explรญcito for definido em um Java aula. Mas se um construtor explรญcito tiver sido definido, o construtor padrรฃo nรฃo poderรก ser invocado e o desenvolvedor poderรก usar apenas os construtores definidos na classe.


60) Podemos substituir um mรฉtodo usando o mesmo nome e argumentos de mรฉtodo, mas tipos de retorno diferentes?

A condiรงรฃo bรกsica para a substituiรงรฃo do mรฉtodo รฉ que o nome do mรฉtodo, os argumentos e o tipo de retorno devem ser exatamente iguais aos do mรฉtodo que estรก sendo substituรญdo. Portanto, usar um tipo de retorno diferente nรฃo substitui um mรฉtodo.


61) Qual serรก a saรญda do seguinte trecho de cรณdigo?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

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

Neste caso รฉ usado o operador postfix ++ que primeiro retorna o valor e depois aumenta. Portanto, sua saรญda serรก 4.


61) Uma pessoa diz que compilou uma classe java com sucesso, mesmo sem ter um mรฉtodo principal nela? ร‰ possรญvel?

mรฉtodo principal รฉ um ponto de entrada de Java classe e รฉ necessรกria para a execuรงรฃo do programa; uma classe รฉ compilada com sucesso mesmo que nรฃo tenha um mรฉtodo principal. Porรฉm, nรฃo pode ser executado.


62) Podemos chamar um mรฉtodo nรฃo estรกtico de dentro de um mรฉtodo estรกtico?

Os mรฉtodos nรฃo estรกticos pertencem a objetos de uma classe e tรชm escopo no nรญvel do objeto e, para chamar os mรฉtodos nรฃo estรกticos de um bloco estรกtico (como de um mรฉtodo principal estรกtico), um objeto da classe precisa ser criado primeiro. Entรฃo, usando referรชncia de objeto, esses mรฉtodos podem ser invocados.


63) Quais sรฃo as duas variรกveis โ€‹โ€‹de ambiente que devem ser definidas para executar qualquer Java programas?

Java programas podem ser executados em uma mรกquina somente depois que as duas variรกveis โ€‹โ€‹de ambiente a seguir forem definidas corretamente:

  1. Variรกvel PATH
  2. Variรกvel CLASSPATH

64) Variรกveis โ€‹โ€‹podem ser usadas em Java sem inicializaรงรฃo?

In Java, se uma variรกvel for usada em um cรณdigo sem inicializaรงรฃo prรฉvia por um valor vรกlido, o programa nรฃo compila e gera um erro, pois nenhum valor padrรฃo รฉ atribuรญdo ร s variรกveis โ€‹โ€‹em Java.


65) Uma aula pode Java ser herdado de mais de uma classe?

In Java, uma classe pode ser derivada de apenas uma classe e nรฃo de vรกrias classes. Heranรงas mรบltiplas nรฃo sรฃo suportadas por Java.


66) Um construtor pode ter um nome diferente do nome de uma classe em Java?

Construtor em Java deve ter o mesmo nome do nome da classe e se o nome for diferente, nรฃo atua como construtor e o compilador pensa nele como um mรฉtodo normal.


67) Qual serรก o resultado de Round(3.7) e Ceil(3.7)?

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


68) Podemos usar goto em Java ir para uma linha especรญfica?

In Java, nรฃo hรก palavra-chave goto e o Java nรฃo suporta esse recurso de ir para uma linha rotulada especรญfica.


69) Um thread morto pode ser reiniciado?

Em Java, um thread que estรก em estado morto nรฃo pode ser iniciado novamente. Nรฃo hรก como reiniciar um thread morto.


70) A seguinte declaraรงรฃo de classe estรก correta?

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

Resposta: A declaraรงรฃo de classe acima estรก incorreta porque uma classe abstrata nรฃo pode ser declarada como Final.


71) O JDK รฉ necessรกrio em cada mรกquina para executar um Java programa?

JDK รฉ um kit de desenvolvimento de Java e รฉ necessรกrio apenas para desenvolvimento e para executar um Java programa em uma mรกquina, o JDK nรฃo รฉ necessรกrio. Somente JRE รฉ necessรกrio.


72) Qual a diferenรงa entre a comparaรงรฃo feita pelo mรฉtodo equals e pelo operador ==?

In JavaO mรฉtodo equals() รฉ usado para comparar o conteรบdo de dois objetos string e retorna true se os dois tiverem o mesmo valor, enquanto o operador == compara as referรชncias de dois objetos string.

No exemplo a seguir, equals() retorna verdadeiro porque os dois objetos string tรชm os mesmos valores. No entanto, o operador == retorna falso, pois ambos os objetos string estรฃo fazendo referรชncia a objetos diferentes:

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) ร‰ possรญvel definir um mรฉtodo em Java class, mas fornece sua implementaรงรฃo no cรณdigo de outra linguagem como C?

Sim, podemos fazer isso usando mรฉtodos nativos. No caso de desenvolvimento baseado em mรฉtodos nativos, definimos mรฉtodos estรกticos pรบblicos em nosso Java classe sem sua implementaรงรฃo e entรฃo a implementaรงรฃo รฉ feita em outra linguagem como C separadamente.


74) Como os destruidores sรฃo definidos em Java?

In Java, nรฃo hรก destruidores definidos na classe, pois nรฃo hรก necessidade de fazรช-lo. Java possui seu prรณprio mecanismo de coleta de lixo que faz o trabalho automaticamente, destruindo os objetos quando nรฃo sรฃo mais referenciados.


Java Perguntas e respostas da entrevista para mais de 5 anos de experiรชncia

75) Uma variรกvel pode ser local e estรกtica ao mesmo tempo?

Nรฃo, uma variรกvel nรฃo pode ser estรกtica e local ao mesmo tempo. Definir uma variรกvel local como estรกtica causa erro de compilaรงรฃo.


76) Podemos ter mรฉtodos estรกticos em uma Interface?

Os mรฉtodos estรกticos nรฃo podem ser substituรญdos em nenhuma classe, enquanto quaisquer mรฉtodos em uma interface sรฃo, por padrรฃo, abstratos e devem ser implementados nas classes que estรฃo implementando a interface. Portanto, nรฃo faz sentido ter mรฉtodos estรกticos em uma interface em Java.


77) Em uma classe que implementa uma interface, podemos alterar o valor de qualquer variรกvel definida na interface?

Nรฃo, nรฃo podemos alterar o valor de nenhuma variรกvel de uma interface na classe de implementaรงรฃo, pois todas as variรกveis โ€‹โ€‹definidas na interface sรฃo por padrรฃo pรบblicas, estรกticas e variรกveis โ€‹โ€‹finais e finais sรฃo como constantes que nรฃo podem ser alteradas posteriormente.


78) ร‰ correto dizer que devido ao recurso de coleta de lixo no Java, um programa Java nunca fica sem memรณria?

Embora a coleta automรกtica de lixo seja fornecida por Java, isso nรฃo garante que um Java o programa nรฃo ficarรก sem memรณria, pois existe a possibilidade de que a criaรงรฃo de Java objetos estรก sendo feito em um ritmo mais rรกpido em comparaรงรฃo com a coleta de lixo, resultando no preenchimento de todos os recursos de memรณria disponรญveis.

Portanto, a coleta de lixo ajuda a reduzir as chances de um programa ficar sem memรณria, mas nรฃo garante isso.


79) Podemos ter outro tipo de retorno alรฉm de void para o mรฉtodo principal?

Nรฃo, Java O mรฉtodo principal da classe pode ter apenas o tipo de retorno void para que o programa seja executado com sucesso.

No entanto, se for absolutamente necessรกrio retornar um valor na conclusรฃo do mรฉtodo principal, vocรช pode usar System.exit(int status)


80) Quero alcanรงar e usar novamente um objeto depois de ele ter sido coletado como lixo. Como รฉ possรญvel?

Depois que um objeto รฉ destruรญdo pelo coletor de lixo, ele nรฃo existe mais no heap e nรฃo pode ser acessado novamente. Nรฃo hรก como referenciรก-lo novamente.


81) em Java programaรงรฃo de threads, qual mรฉtodo รฉ uma implementaรงรฃo obrigatรณria para todos os threads?

Run() รฉ um mรฉtodo de interface Runnable que deve ser implementado por todos os threads.


82) Quero controlar as conexรตes com o banco de dados em meu programa e quero que apenas um thread seja capaz de fazer a conexรฃo com o banco de dados por vez. Como posso implementar essa lรณgica?

Resposta: Isso pode ser implementado usando o conceito de sincronizaรงรฃo. O cรณdigo relacionado ao banco de dados pode ser colocado em um mรฉtodo que hs sincronizado palavra-chave para que apenas um thread possa acessรก-lo por vez.


83) Como uma exceรงรฃo pode ser lanรงada manualmente por um programador?

Para lanรงar uma exceรงรฃo em um bloco de cรณdigo manualmente, jogar palavra-chave รฉ usada. Entรฃo esta exceรงรฃo รฉ capturada e tratada no bloco 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) Quero que minha classe seja desenvolvida de tal forma que nenhuma outra classe (mesmo classe derivada) possa criar seus objetos. Como posso fazer isso?

Se declararmos o construtor de uma classe como privado, ele nรฃo serรก acessรญvel por nenhuma outra classe e, portanto, nenhuma outra classe serรก capaz de instanciรก-lo e a formaรงรฃo de seu objeto serรก limitada apenas a si mesmo.


85) Como os objetos sรฃo armazenados Java?

Em Java, cada objeto, quando criado, obtรฉm um espaรงo de memรณria de um heap. Quando um objeto รฉ destruรญdo por um coletor de lixo, o espaรงo alocado a ele no heap รฉ realocado para o heap e fica disponรญvel para quaisquer novos objetos.


86) Como podemos encontrar o tamanho real de um objeto na pilha?

Em Java, nรฃo hรก como descobrir o tamanho exato de um objeto na pilha.


87) Qual das seguintes classes terรก mais memรณria alocada?

Classe A: Trรชs mรฉtodos, quatro variรกveis, nenhum objeto

Classe B: Cinco mรฉtodos, trรชs variรกveis, nenhum objeto

A memรณria nรฃo รฉ alocada antes da criaรงรฃo dos objetos. Como para ambas as classes nรฃo hรก objetos criados, nenhuma memรณria รฉ alocada no heap para nenhuma classe.


88) O que acontece se uma exceรงรฃo nรฃo for tratada em um programa?

Se uma exceรงรฃo nรฃo for tratada em um programa usando blocos try catch, o programa serรก abortado e nenhuma instruรงรฃo serรก executada apรณs a instruรงรฃo que causou o lanรงamento da exceรงรฃo.


89) Tenho vรกrios construtores definidos em uma classe. ร‰ possรญvel chamar um construtor do corpo de outro construtor?

Se uma classe tiver vรกrios construtores, รฉ possรญvel chamar um construtor do corpo de outro usando esta().


90) O que significa aula anรดnima?

Uma classe anรดnima รฉ uma classe definida sem nenhum nome em uma รบnica linha de cรณdigo usando a nova palavra-chave.

Por exemplo, no cรณdigo abaixo definimos uma classe anรดnima em uma linha de cรณdigo:

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) Existe uma maneira de aumentar o tamanho de um array apรณs sua declaraรงรฃo?

Os arrays sรฃo estรกticos e, uma vez especificado seu tamanho, nรฃo podemos alterรก-lo. Se quisermos usar coleรงรตes onde possamos exigir uma mudanรงa de tamanho (nรฃo de itens), devemos preferir vetor em vez de array.


92) Se um aplicativo contรฉm mรบltiplas classes, รฉ correto ter um mรฉtodo principal em mais de uma classe?

Se houver um mรฉtodo principal em mais de uma classe em um aplicativo Java, isso nรฃo causarรก nenhum problema, pois o ponto de entrada para qualquer aplicativo serรก uma classe especรญfica e o cรณdigo comeรงarรก apenas a partir do mรฉtodo principal dessa classe especรญfica.


93) Quero persistir dados de objetos para uso posterior. Qual รฉ a melhor abordagem para fazer isso?

A melhor maneira de persistir os dados para uso futuro รฉ usar o conceito de serializaรงรฃo.


94) O que รฉ uma aula local em Java?

In Java, se definirmos uma nova classe dentro de um bloco especรญfico, ela serรก chamada de classe local. Tal classe tem escopo local e nรฃo pode ser usada fora do bloco onde estรก definida.


95) Corda e CordaBuffer ambos representam objetos String. Podemos comparar String e StringBuffer in Java?

Embora String e StringBuffer ambos representam objetos String, nรฃo podemos comparรก-los entre si e se tentarmos comparรก-los, obteremos um erro.


96) Qual API รฉ fornecida por Java para operaรงรตes em conjunto de objetos?

Java fornece uma API de coleรงรฃo que fornece muitos mรฉtodos รบteis que podem ser aplicados em um conjunto de objetos. Algumas das classes importantes fornecidas pela API Collection incluem ArrayList, HashMap, TreeSet e TreeMap.


97) Podemos converter qualquer outro tipo para Boolean Type com conversรฃo de tipo?

Nรฃo, nรฃo podemos converter nenhum outro tipo primitivo para o tipo de dados booleano, nem podemos converter o tipo de dados booleano para qualquer outro tipo de dados primitivo.


98) Podemos usar diferentes tipos de retorno para mรฉtodos quando substituรญdos?

O requisito bรกsico de substituiรงรฃo de mรฉtodo em Java รฉ que o mรฉtodo substituรญdo deve ter o mesmo nome e parรขmetros. Mas um mรฉtodo pode ser substituรญdo por um tipo de retorno diferente, desde que o novo tipo de retorno estenda o original.

Por exemplo, o mรฉtodo estรก retornando um tipo de referรชncia.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) Qual รฉ a classe base de todas as classes de exceรงรฃo?

In Java, Java.lang.Throwable รฉ a superclasse de todas as classes de exceรงรฃo e todas as classes de exceรงรฃo sรฃo derivadas desta classe base.


100) Qual a ordem de chamada dos construtores na heranรงa?

No caso de heranรงa, quando um novo objeto de uma classe derivada รฉ criado, primeiro o construtor da superclasse รฉ invocado e depois o construtor da classe derivada รฉ invocado.

Prepare-se para sua entrevista de emprego!!! Ir atravรฉs Java Tutorial para estar melhor preparado.

Este detalhado Java O Mock Test Quiz irรก ajudรก-lo a tirar as dรบvidas sobre Java perguntas da entrevista e tambรฉm o ajudarรก a resolver a entrevista.

Estes Java e Java 8 perguntas da entrevista tambรฉm ajudarรก na sua viva(oral)

Resuma esta postagem com: