100+ Java Preguntas y respuestas de la entrevista (2026)
Java Preguntas y respuestas de la entrevista de programaciรณn para principiantes
1) ยฟCuรกl es la diferencia entre una clase interna y una subclase?
Una clase interna es una clase que estรก anidada dentro de otra clase. Una clase interna tiene derechos de acceso para la clase que la anida y puede acceder a todas las variables y mรฉtodos definidos en la clase externa.
Una subclase es una clase que hereda de otra clase llamada superclase. La subclase puede acceder a todos los mรฉtodos y campos pรบblicos y protegidos de su superclase.
๐ Descarga gratuita de PDF: Java Entrevista Preguntas y respuestas de la entrevista >>
2) ยฟCuรกles son los distintos especificadores de acceso para? Java clases?
In Java, los especificadores de acceso son las palabras clave utilizadas antes de un nombre de clase que define el alcance del acceso. Los tipos de especificadores de acceso para clases son:
1) Pรบblico: Se puede acceder a clase, mรฉtodo y campo desde cualquier lugar.
2) Protegido: Se puede acceder al mรฉtodo, campo desde la misma clase a la que pertenecen o desde las subclases, y desde la clase del mismo paquete, pero no desde fuera.
3) Predeterminado: Solo se puede acceder al mรฉtodo, campo y clase desde el mismo paquete y no desde fuera de su paquete nativo.
4) Privado: Se puede acceder al mรฉtodo, campo desde la misma clase a la que pertenecen.
3) ยฟCuรกl es el propรณsito de los mรฉtodos estรกticos y las variables estรกticas?
Cuando existe el requisito de compartir un mรฉtodo o una variable entre varios objetos de una clase en lugar de crear copias separadas para cada objeto, usamos la palabra clave estรกtica para hacer que un mรฉtodo o variable sea compartido para todos los objetos.
4) ยฟQuรฉ es la encapsulaciรณn de datos y cuรกl es su importancia?
La encapsulaciรณn es un concepto de programaciรณn orientada a objetos para combinar propiedades y mรฉtodos en una sola unidad.
La encapsulaciรณn ayuda a los programadores a seguir un enfoque modular para el desarrollo de software, ya que cada objeto tiene su propio conjunto de mรฉtodos y variables y cumple sus funciones independientemente de otros objetos. La encapsulaciรณn tambiรฉn sirve para ocultar datos.
5) ยฟQuรฉ es una clase singleton? Dรฉ un ejemplo prรกctico de su uso.
Una clase singleton en Java solo puede tener una instancia y, por lo tanto, todos sus mรฉtodos y variables pertenecen a una sola instancia. El concepto de clase singleton es รบtil para situaciones en las que es necesario limitar la cantidad de objetos para una clase.
El mejor ejemplo de escenario de uso singleton es cuando hay un lรญmite de tener solo una conexiรณn a una base de datos debido a algunas limitaciones del controlador o a problemas de licencia.
6) ยฟQuรฉ son los bucles? Java? ยฟCuรกles son los tres tipos de bucles?
El bucle se utiliza en programaciรณn para ejecutar una declaraciรณn o un bloque de declaraciรณn repetidamente. Hay tres tipos de bucles en Java:
1) Para bucles
Los bucles For se utilizan en Java para ejecutar declaraciones repetidamente durante un nรบmero determinado de veces. Los bucles For se utilizan cuando el programador conoce el nรบmero de veces que se ejecutarรกn las declaraciones.
2) Mientras bucles
El bucle while se utiliza cuando ciertas declaraciones deben ejecutarse repetidamente hasta que se cumpla una condiciรณn. En los bucles while, la condiciรณn se verifica primero antes de la ejecuciรณn de las declaraciones.
3) Hacer bucles while
Do While Loop es lo mismo que el bucle While con la รบnica diferencia de que la condiciรณn se verifica despuรฉs de la ejecuciรณn del bloque de declaraciones. Por lo tanto, en el caso del bucle do while, las declaraciones se ejecutan al menos una vez.
7) ยฟQuรฉ es un bucle infinito? ยฟCรณmo se declara un bucle infinito?
Un bucle infinito se ejecuta sin ninguna condiciรณn y se ejecuta infinitamente. Un bucle infinito se puede romper definiendo cualquier lรณgica de ruptura en el cuerpo de los bloques de instrucciones.
El bucle infinito se declara de la siguiente manera:
for (;;)
{
// Statements to execute
// Add any loop breaking logic
}
8) ยฟCuรกl es la diferencia entre continuar y romper?
romper y continuar son dos palabras clave importantes utilizadas en Loops. Cuando se usa una palabra clave break en un bucle, el bucle se rompe instantรกneamente mientras que cuando se usa la palabra clave continue, la iteraciรณn actual se rompe y el bucle continรบa con la siguiente iteraciรณn.
En el siguiente ejemplo, el bucle se rompe cuando el contador llega a 4.
for (counter = 0; counter & lt; 10; counter++)
system.out.println(counter);
if (counter == 4) {
break;
}
}
En el siguiente ejemplo, cuando el contador llega a 4, el bucle salta a la siguiente iteraciรณn y cualquier declaraciรณn despuรฉs de la palabra clave continuar se omite para la iteraciรณn actual.
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) ยฟCuรกl es la diferencia entre las variables double y float en Java?
En Java, float ocupa 4 bytes en la memoria mientras Double ocupa 8 bytes en la memoria. Float es un nรบmero decimal de punto flotante de precisiรณn simple, mientras que Double Es un nรบmero decimal de doble precisiรณn.
10) ยฟQuรฉ es la palabra clave final? Java? Da un ejemplo.
En Java, una constante se declara utilizando la palabra clave Final. El valor se puede asignar solo una vez y despuรฉs de la asignaciรณn, el valor de una constante no se puede cambiar.
En el siguiente ejemplo, se declara una constante con el nombre const_val y se le asigna un valor:
Final privado int const_val=100
Cuando un mรฉtodo se declara como final, las subclases NO pueden anularlo. Este mรฉtodo es mรกs rรกpido que cualquier otro mรฉtodo, porque se resuelven en tiempo cumplido.
Cuando una clase se declara como final, no se puede crear una subclase. Por ejemplo, clases String, Integer y otras clases contenedoras.
11) ยฟQuรฉ es el operador ternario? Dar un ejemplo.
El operador ternario, tambiรฉn llamado operador condicional, se utiliza para decidir quรฉ valor asignar a una variable en funciรณn de una evaluaciรณn de valor booleano. Se denota como ?
En el siguiente ejemplo, si el rango es 1, al estado se le asigna un valor de "Listo" o "Pendiente".
public class conditionTest {
public static void main(String args[]) {
String status;
int rank = 3;
status = (rank == 1) ? "Done" : "Pending";
System.out.println(status);
}
}
12) ยฟCรณmo se pueden generar nรบmeros aleatorios en Java?
- Usando Math.random() puedes generar nรบmeros aleatorios en el rango mayor o igual a 0.1 y menor a 1.0
- Usando la clase aleatoria en el paquete java.util
13) ยฟCuรกl es el caso del interruptor predeterminado? Da un ejemplo.
En un declaraciรณn de cambio, el caso predeterminado se ejecuta cuando no coincide ninguna otra condiciรณn de cambio. El caso predeterminado es un caso opcional. Se puede declarar solo una vez que se hayan codificado todos los demรกs casos de cambio.
En el siguiente ejemplo, cuando la puntuaciรณn no es 1 o 2, se utiliza el caso predeterminado.
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) ยฟCuรกl es la clase base en Java ยฟDe donde se derivan todas las clases?
java.lang.object
15) ยฟPuede el mรฉtodo main() en Java ยฟPuede devolver algรบn dato?
En Java, el mรฉtodo main() no puede devolver ningรบn dato y, por lo tanto, siempre se declara con un tipo de devoluciรณn nulo.
16) ยฟCuรกles son Java ยฟPaquetes? ยฟCuรกl es el significado de los paquetes?
In Java, paquete es una colecciรณn de clases e interfaces que se agrupan porque estรกn relacionadas entre sรญ. El uso de paquetes ayuda a los desarrolladores a modularizar el cรณdigo y agruparlo para su reutilizaciรณn adecuada. Una vez que el cรณdigo se ha empaquetado en Paquetes, se puede importar en otras clases y utilizarlo.
17) ยฟPodemos declarar una clase como abstracta sin tener ningรบn mรฉtodo abstracto?
Sรญ, podemos crear una clase abstracta utilizando la palabra clave abstract antes del nombre de la clase, incluso si no tiene ningรบn mรฉtodo abstracto. Sin embargo, si una clase tiene incluso un mรฉtodo abstracto, debe declararse como abstracto; de lo contrario, arrojarรก un error.
18) ยฟCuรกl es la diferencia entre una clase abstracta y una interfaz en Java?
La principal diferencia entre una clase abstracta y una interfaz es que una interfaz solo puede poseer una declaraciรณn de mรฉtodos estรกticos pรบblicos sin una implementaciรณn concreta, mientras que una clase abstracta puede tener miembros con cualquier especificador de acceso (pรบblico, privado, etc.) con o sin implementaciรณn concreta.
Otra diferencia clave en el uso de clases e interfaces abstractas es que una clase que implementa una interfaz debe implementar todos los mรฉtodos de la interfaz, mientras que una clase que hereda de una clase abstracta no requiere la implementaciรณn de todos los mรฉtodos de su superclase.
Una clase puede implementar mรบltiples interfaces pero solo puede extender una clase abstracta.
19) ยฟCuรกles son las implicaciones de rendimiento de las interfaces sobre las clases abstractas?
Las interfaces tienen un rendimiento mรกs lento en comparaciรณn con las clases abstractas, ya que se requieren direcciones indirectas adicionales para las interfaces. Otro factor clave que los desarrolladores deben tener en cuenta es que cualquier clase puede extender solo una clase abstracta, mientras que una clase puede implementar muchas interfaces.
El uso de interfaces tambiรฉn supone una carga adicional para los desarrolladores, ya que cada vez que se implementa una interfaz en una clase; El desarrollador se ve obligado a implementar todos y cada uno de los mรฉtodos de interfaz.
20) ยฟImportar un paquete importa sus subpaquetes tambiรฉn en Java?
En Java, cuando se importa un paquete, sus subpaquetes no se importan y el desarrollador debe importarlos por separado si es necesario.
Por ejemplo, si un desarrollador importa un paquete universidad.*, se cargan todas las clases del paquete denominado universidad, pero no se carga ninguna clase del subpaquete. Para cargar las clases desde su subpaquete (digamos departamento), el desarrollador debe importarlo explรญcitamente de la siguiente manera:
Importar departamento.universidad.*
21) ยฟPodemos declarar el mรฉtodo principal de nuestra clase como privado?
En Java, el mรฉtodo principal debe ser pรบblico estรกtico para poder ejecutar cualquier aplicaciรณn correctamente. Si el mรฉtodo principal se declara como privado, el desarrollador no obtendrรก ningรบn error de compilaciรณn; sin embargo, no se ejecutarรก y darรก un error de tiempo de ejecuciรณn.
22) ยฟCรณmo podemos pasar un argumento a una funciรณn por referencia en lugar de pasar por valor?
En Java, podemos pasar argumentos a una funciรณn sรณlo por valor y no por referencia.
23) ยฟCรณmo se serializa un objeto en java?
En Java, para convertir un objeto en un flujo de bytes mediante serializaciรณn, la clase implementa una interfaz con el nombre Serializable. Todos los objetos de una clase que implementa una interfaz serializable se serializan y su estado se guarda en un flujo de bytes.
24) ยฟCuรกndo deberรญamos utilizar la serializaciรณn?
La serializaciรณn se utiliza cuando es necesario transmitir datos a travรฉs de la red. Mediante la serializaciรณn, el estado del objeto se guarda y se convierte en un flujo de bytes. El flujo de bytes se transfiere a travรฉs de la red y el objeto se recrea en el destino.
25) ยฟEs obligatorio que un bloque Try vaya seguido de un bloque Catch en Java para el manejo de excepciones?
El bloque Try debe ir seguido del bloque Catch, del bloque Finalmente o de ambos. Cualquier excepciรณn lanzada desde el bloque try debe quedar atrapada en el bloque catch o cualquier tarea especรญfica que se deba realizar antes de la interrupciรณn del cรณdigo se debe colocar en el bloque Finalmente.
Java Preguntas y respuestas de la entrevista para experimentados
26) ยฟHay alguna forma de omitir el bloque de excepciรณn Finalmente incluso si ocurre alguna excepciรณn en el bloque de excepciรณn?
Si se genera una excepciรณn en el bloque Try, el control pasa al bloque catch si existe; de โโlo contrario, al bloque Finally. El bloque Finally siempre se ejecuta cuando se produce una excepciรณn y la รบnica forma de evitar la ejecuciรณn de cualquier instrucciรณn en el bloque Finally es abortar el cรณdigo de manera forzosa escribiendo la siguiente lรญnea de cรณdigo al final del bloque Try:
System.exit(0);
27) ยฟCuando se invoca al constructor de una clase?
El constructor de una clase se invoca cada vez que se crea un objeto con una nueva palabra clave.
Por ejemplo, en la siguiente clase se crean dos objetos utilizando la palabra clave new y, por lo tanto, el constructor se invoca dos veces.
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) ยฟPuede una clase tener mรบltiples constructores?
Sรญ, una clase puede tener varios constructores con diferentes parรกmetros. El constructor que se utiliza para la creaciรณn de objetos depende de los argumentos pasados โโal crear los objetos.
29) ยฟPodemos anular los mรฉtodos estรกticos de una clase?
No podemos anular los mรฉtodos estรกticos. Los mรฉtodos estรกticos pertenecen a una clase y no a objetos individuales y se resuelven en el momento de la compilaciรณn (no en tiempo de ejecuciรณn). Incluso si intentamos anular el mรฉtodo estรกtico, no obtendremos un error de compilaciรณn, ni el impacto de anular al ejecutar el cรณdigo.
30) En el siguiente ejemplo, ยฟcuรกl serรก el 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: La salida serรก:
Mostrando desde subclase
Impresiรณn desde superclase
31) ยฟEs String un tipo de datos en Java?
La cadena no es un tipo de datos primitivo en Java. Cuando se crea una cadena en Java, en realidad es un objeto de JavaClase .Lang.String que se crea. Despuรฉs de la creaciรณn de este objeto de cadena, todos los mรฉtodos integrados de la clase String se pueden utilizar en el objeto de cadena.
32) En el siguiente ejemplo, ยฟcuรกntos objetos de cadena se crean?
String s1="I am Java Expert"; String s2="I am C Expert"; String s3="I am Java Expert";
En el ejemplo anterior, dos objetos de JavaSe crea la clase .Lang.String. s1 y s3 โโson referencias al mismo objeto.
33) ยฟPor quรฉ usar cadenas? Java ยฟSe llaman inmutables?
En Java, los objetos de cadena se denominan inmutables ya que una vez que se ha asignado un valor a una cadena, no se puede cambiar y, si se cambia, se crea un nuevo objeto.
En el siguiente ejemplo, la referencia str se refiere a un objeto de cadena que tiene el valor "Valor uno".
String str="Value One";
Cuando se le asigna un nuevo valor, se crea un nuevo objeto String y la referencia se mueve al nuevo objeto.
str="New Value";
34) ยฟCuรกl es la diferencia entre una matriz y un vector?
Una matriz agrupa datos del mismo tipo primitivo y es de naturaleza estรกtica, mientras que los vectores son de naturaleza dinรกmica y pueden contener datos de diferentes tipos.
35) ยฟQuรฉ es el subproceso mรบltiple?
Multi threading es un concepto de programaciรณn para ejecutar mรบltiples tareas de manera simultรกnea dentro de un solo programa. Los subprocesos comparten la misma pila de procesos y se ejecutan en paralelo. Ayuda a mejorar el rendimiento de cualquier programa.
36) Por quรฉ se utiliza la interfaz Runnable en Java?
La interfaz ejecutable se utiliza en Java para implementar aplicaciones multiproceso. JavaLa interfaz .Lang.Runnable se implementa mediante una clase para admitir subprocesos mรบltiples.
37) ยฟCuรกles son las dos formas de implementar subprocesos mรบltiples en Java?
Las aplicaciones multiproceso se pueden desarrollar en Java utilizando cualquiera de las dos metodologรญas siguientes:
1) Usando Java.Lang.Interfaz ejecutable. Las clases implementan esta interfaz para habilitar subprocesos mรบltiples. Hay un mรฉtodo Run() en esta interfaz que estรก implementado.
2) Escribiendo una clase que se extienda Java.Lang.Clase de hilo.
38) Cuando se requieren muchos cambios en los datos, ยฟcuรกl deberรญa ser la preferencia a utilizar? Cuerda o CuerdaBuffer?
Desde cadenaBufferLos s son de naturaleza dinรกmica y podemos cambiar los valores de StringBuffer objetos a diferencia de String, que es inmutable, siempre es una buena opciรณn usar StringBuffer cuando los datos se cambian demasiado. Si usamos String en tal caso, por cada cambio de datos se crearรก un nuevo objeto String, lo que supondrรก una sobrecarga adicional.
39) ยฟCuรกl es el propรณsito de utilizar Break en cada caso de Switch Statement?
Break se usa despuรฉs de cada caso (excepto el รบltimo) en un cambio para que el cรณdigo se rompa despuรฉs del caso vรกlido y no fluya tambiรฉn en los casos anteriores.
Si no se utiliza break despuรฉs de cada caso, todos los casos posteriores al caso vรกlido tambiรฉn se ejecutan, lo que genera resultados incorrectos.
40) Cรณmo se realiza la recolecciรณn de basura en Java?
En Java, cuando ya no se hace referencia a un objeto, recolecciรณn de basura se lleva a cabo y el objeto se destruye automรกticamente. Para la recolecciรณn automรกtica de basura, Java llama al mรฉtodo System.gc() o al mรฉtodo Runtime.gc().
41) ยฟCรณmo podemos ejecutar cualquier cรณdigo incluso antes del mรฉtodo principal?
Si queremos ejecutar alguna declaraciรณn incluso antes de la creaciรณn de objetos en el momento de carga de la clase, podemos usar un bloque de cรณdigo estรกtico en la clase. Cualquier declaraciรณn dentro de este bloque de cรณdigo estรกtico se ejecutarรก una vez al momento de cargar la clase, incluso antes de la creaciรณn de objetos en el mรฉtodo principal.
42) ยฟPuede una clase ser superclase y subclase al mismo tiempo? Da un ejemplo.
Si se utiliza una jerarquรญa de herencia, una clase puede ser una superclase para otra clase y una subclase para otra al mismo tiempo.
En el siguiente ejemplo, la clase continente es una subclase de la clase mundial y una superclase de la clase paรญs.
public class world {
..........
}
public class continenet extends world {
............
}
public class country extends continent {
......................
}
43) ยฟCรณmo se crean los objetos de una clase si no se define ningรบn constructor en la clase?
Incluso si no se define ningรบn constructor explรญcito en una clase Java, los objetos se crean correctamente ya que se utiliza implรญcitamente un constructor predeterminado para la creaciรณn de objetos. Este constructor no tiene parรกmetros.
44) En subprocesos mรบltiples, ยฟcรณmo podemos garantizar que un recurso no sea utilizado por varios subprocesos simultรกneamente?
En el subprocesamiento mรบltiple, el acceso a los recursos que se comparten entre varios subprocesos se puede controlar mediante el concepto de sincronizaciรณn. palabra clave sincronizada, podemos asegurarnos de que solo un hilo pueda usar el recurso compartido a la vez y que otros puedan obtener el control del recurso solo una vez que se haya liberado del otro que lo usa.
45) ยฟPodemos llamar al constructor de una clase mรกs de una vez para un objeto?
El constructor se llama automรกticamente cuando creamos un objeto usando una nueva palabra clave. Se llama solo una vez para un objeto en el momento de su creaciรณn y, por lo tanto, no podemos volver a invocar el constructor para un objeto despuรฉs de su creaciรณn.
46) Hay dos clases llamadas claseA y claseB. Ambas clases estรกn en el mismo paquete. ยฟSe puede acceder a un miembro privado de la clase A mediante un objeto de la clase B?
No se puede acceder a los miembros privados de una clase fuera del alcance de esa clase y ninguna otra clase, incluso en el mismo paquete, no puede acceder a ellos.
47) ยฟPodemos tener dos mรฉtodos en una clase con el mismo nombre?
Podemos definir dos mรฉtodos en una clase con el mismo nombre pero con diferente nรบmero/tipo de parรกmetros. El mรฉtodo que se invocarรก dependerรก de los parรกmetros pasados.
Por ejemplo, en la siguiente clase tenemos dos mรฉtodos de impresiรณn con el mismo nombre pero diferentes parรกmetros. Dependiendo de los parรกmetros, se llamarรก el apropiado:
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) ยฟCรณmo podemos hacer una copia de un objeto java?
Podemos utilizar el concepto de clonaciรณn para crear una copia de un objeto. Usando clonar, creamos copias con el estado real de un objeto.
Clone() es un mรฉtodo de la interfaz Cloneable y, por lo tanto, es necesario implementar la interfaz Cloneable para realizar copias de objetos.
49) ยฟCuรกl es el beneficio de utilizar la herencia?
El beneficio clave de usar la herencia es la reutilizaciรณn del cรณdigo, ya que la herencia permite a las subclases reutilizar el cรณdigo de su superclase. El polimorfismo (extensibilidad) es otro gran beneficio que permite introducir nuevas funciones sin afectar las clases derivadas existentes.
50) ยฟCuรกl es el especificador de acceso predeterminado para variables y mรฉtodos de una clase?
El especificador de acceso predeterminado para variables y mรฉtodos estรก protegido por paquete, es decir, las variables y la clase estรกn disponibles para cualquier otra clase, pero en el mismo paquete, no fuera del paquete.
51) Dรฉ un ejemplo del uso de punteros en Java clase.
No hay indicaciones en Java. Entonces no podemos usar el concepto de punteros en Java.
52) ยฟCรณmo podemos restringir la herencia de una clase para que no se pueda heredar ninguna clase de ella?
Si queremos que una clase no se extienda mรกs por ninguna clase, podemos usar la palabra clave Final con el nombre de la clase.
En el siguiente ejemplo, la clase Stone es Final y no se puede extender.
public Final Class Stone {
// Class methods and Variables
}
53) ยฟCuรกl es el alcance de acceso del especificador de acceso protegido?
Cuando un mรฉtodo o una variable se declara con el especificador de acceso protegido, se vuelve accesible en la misma clase, en cualquier otra clase del mismo paquete y en una subclase.
| Cambiar | Clase | PREMIUM | Subclase | Mundo |
|---|---|---|---|---|
| pรบblico | Y | Y | Y | Y |
| protegido | Y | Y | Y | N |
| sin modificador | Y | Y | N | N |
| de inversores privados | Y | N | N | N |
54) ยฟCuรกl es la diferencia entre pila y cola?
Tanto la pila como la cola se utilizan como marcador de posiciรณn para una colecciรณn de datos. La principal diferencia entre una pila y una cola es que la pila se basa en el principio de รบltimo en entrar, primero en salir (LIFO), mientras que una cola se basa en el principio FIFO (primero en entrar, primero en salir).
55) En Java, ยฟcรณmo podemos no permitir la serializaciรณn de variables?
Si queremos que ciertas variables de una clase no sean serializadas, podemos usar la palabra clave transitorio al declararlos. Por ejemplo, la variable trans_var a continuaciรณn es una variable transitoria y no se puede serializar:
public class transientExample {
private transient trans_var;
// rest of the code
}
56) ยฟCรณmo podemos utilizar tipos de datos primitivos como objetos?
Los tipos de datos primitivos como int se pueden manejar como objetos mediante el uso de sus respectivas clases contenedoras. Por ejemplo, Integer es una clase contenedora para el tipo de datos primitivo int. Podemos aplicar diferentes mรฉtodos a una clase contenedora, como a cualquier otro objeto.
57) ยฟQuรฉ tipos de excepciones se detectan en tiempo de compilaciรณn?
Las excepciones marcadas se pueden detectar en el momento de la compilaciรณn del programa. Las excepciones marcadas deben manejarse utilizando el bloque try catch en el cรณdigo para poder compilar el cรณdigo correctamente.
58) Describe diferentes estados de un hilo.
un hilo en Java Puede estar en cualquiera de los siguientes estados:
- Listo: cuando se crea un hilo, estรก en estado Listo.
- En ejecuciรณn: un subproceso que se estรก ejecutando actualmente estรก en estado de ejecuciรณn.
- En espera: un subproceso que espera a que otro subproceso libere ciertos recursos estรก en estado de espera.
- Muerto: un hilo que ha quedado muerto despuรฉs de la ejecuciรณn estรก en estado muerto.
59) ยฟPodemos usar un constructor predeterminado de una clase incluso si se define un constructor explรญcito?
Java proporciona un constructor predeterminado sin argumentos si no se define ningรบn constructor explรญcito en un Java clase. Pero si se ha definido un constructor explรญcito, no se puede invocar el constructor predeterminado y el desarrollador solo puede usar aquellos constructores que estรกn definidos en la clase.
60) ยฟPodemos anular un mรฉtodo usando el mismo nombre de mรฉtodo y argumentos pero diferentes tipos de retorno?
La condiciรณn bรกsica para la anulaciรณn de mรฉtodos es que el nombre del mรฉtodo, los argumentos y el tipo de retorno deben ser exactamente los mismos que los del mรฉtodo que se anula. Por lo tanto, el uso de un tipo de retorno diferente no anula un mรฉtodo.
61) ยฟCuรกl serรก el resultado del siguiente fragmento de cรณdigo?
public class operatorExample {
public static void main(String args[]) {
int x = 4;
system.out.println(x++);
}
}
En este caso se utiliza el operador postfix ++ que primero devuelve el valor y luego lo incrementa. Por lo tanto, su salida serรก 4.
61) ยฟUna persona dice que compilรณ una clase Java con รฉxito sin siquiera tener un mรฉtodo principal? ยฟEs posible?
El mรฉtodo principal es un punto de entrada de Java clase y es necesario para la ejecuciรณn del programa; sin embargo; una clase se compila correctamente incluso si no tiene un mรฉtodo principal. Aunque no se puede ejecutar.
62) ยฟPodemos llamar a un mรฉtodo no estรกtico desde dentro de un mรฉtodo estรกtico?
Los mรฉtodos no estรกticos son propiedad de objetos de una clase y tienen alcance a nivel de objeto y para llamar a los mรฉtodos no estรกticos desde un bloque estรกtico (como desde un mรฉtodo principal estรกtico), primero se debe crear un objeto de la clase. Luego, utilizando la referencia de objeto, se pueden invocar estos mรฉtodos.
63) ยฟCuรกles son las dos variables de entorno que se deben configurar para ejecutar cualquier Java programas?
Java Los programas se pueden ejecutar en una mรกquina solo una vez que se hayan configurado correctamente las dos variables de entorno siguientes:
- Variable PATH
- Variable de ruta de clase
64) ยฟSe pueden utilizar variables en Java sin inicializaciรณn?
In Java, si una variable se usa en un cรณdigo sin inicializaciรณn previa por un valor vรกlido, el programa no compila y da un error ya que no se asigna ningรบn valor predeterminado a las variables en Java.
65) ยฟPuede una clase en Java ยฟSe heredarรก de mรกs de una clase?
In Java, una clase puede derivarse de una sola clase y no de varias clases. Las herencias mรบltiples no son compatibles con Java.
66) ยฟPuede un constructor tener un nombre diferente al nombre de una clase en Java?
Constructor en Java debe tener el mismo nombre que el nombre de la clase y si el nombre es diferente, no actรบa como un constructor y el compilador lo considera un mรฉtodo normal.
67) ยฟCuรกl serรก el resultado de Round(3.7) y Ceil(3.7)?
Round(3.7) devuelve 4 y Ceil(3.7) devuelve 4.
68) ยฟPodemos usar goto en Java para ir a una lรญnea en particular?
In Java, no existe la palabra clave goto y Java no admite esta funciรณn de ir a una lรญnea etiquetada en particular.
69) ยฟSe puede volver a iniciar un hilo muerto?
En Java, un hilo que estรก en estado inactivo no se puede volver a iniciar. No hay forma de reiniciar un hilo inactivo.
70) ยฟEs correcta la siguiente declaraciรณn de clase?
public abstract final class testClass {
// Class methods and variables
}
Respuesta: La declaraciรณn de clase anterior es incorrecta ya que una clase abstracta no se puede declarar como Final.
71) ยฟSe requiere JDK en cada mรกquina para ejecutar un Java programa?
JDK es un kit de desarrollo de Java y es necesario sรณlo para el desarrollo y para ejecutar un Java programa en una mรกquina, no se requiere JDK. Sรณlo se requiere JRE.
72) ยฟCuรกl es la diferencia entre la comparaciรณn realizada por el mรฉtodo igual y el operador ==?
In JavaEl mรฉtodo equals() se utiliza para comparar el contenido de dos objetos de cadena y devuelve verdadero si los dos tienen el mismo valor, mientras que el operador == compara las referencias de dos objetos de cadena.
En el siguiente ejemplo, equals() devuelve verdadero porque los dos objetos de cadena tienen los mismos valores. Sin embargo, el operador == devuelve falso porque ambos objetos de cadena hacen referencia 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) ยฟEs posible definir un mรฉtodo en Java clase pero proporciona su implementaciรณn en el cรณdigo de otro lenguaje como C?
Sรญ, podemos hacer esto mediante el uso de mรฉtodos nativos. En el caso de desarrollo basado en mรฉtodos nativos, definimos mรฉtodos estรกticos pรบblicos en nuestro Java clase sin su implementaciรณn y luego la implementaciรณn se realiza en otro lenguaje como C por separado.
74) ยฟCรณmo se definen los destructores en Java?
In Java, no hay destructores definidos en la clase ya que no es necesario hacerlo. Java tiene su propio mecanismo de recolecciรณn de basura que hace el trabajo automรกticamente destruyendo los objetos cuando ya no se hace referencia a ellos.
Java Preguntas y respuestas de entrevistas para mรกs de 5 aรฑos de experiencia
75) ยฟPuede una variable ser local y estรกtica al mismo tiempo?
No, una variable no puede ser estรกtica y local al mismo tiempo. Definir una variable local como estรกtica genera un error de compilaciรณn.
76) ยฟPodemos tener mรฉtodos estรกticos en una Interfaz?
Los mรฉtodos estรกticos no se pueden anular en ninguna clase, mientras que los mรฉtodos en una interfaz son abstractos por defecto y se supone que deben implementarse en las clases que implementan la interfaz. Entonces no tiene sentido tener mรฉtodos estรกticos en una interfaz en Java.
77) En una clase que implementa una interfaz, ยฟpodemos cambiar el valor de cualquier variable definida en la interfaz?
No, no podemos cambiar el valor de ninguna variable de una interfaz en la clase que la implementa, ya que todas las variables definidas en la interfaz son, por defecto, pรบblicas, estรกticas y finales. Y las variables finales son como constantes que no se pueden cambiar mรกs adelante.
78) ยฟEs correcto decir que debido a la funciรณn de recolecciรณn de basura en JavaยฟUn programa Java nunca se queda sin memoria?
Aunque la recolecciรณn automรกtica de basura la proporciona Java, no garantiza que un Java El programa no se quedarรก sin memoria ya que existe la posibilidad de que la creaciรณn de Java Los objetos se realizan a un ritmo mรกs rรกpido en comparaciรณn con la recolecciรณn de basura, lo que resulta en el llenado de todos los recursos de memoria disponibles.
Por lo tanto, la recolecciรณn de basura ayuda a reducir las posibilidades de que un programa se quede sin memoria, pero no lo garantiza.
79) ยฟPodemos tener algรบn otro tipo de devoluciรณn que no sea nula para el mรฉtodo principal?
NO, Java El mรฉtodo principal de la clase solo puede tener un tipo de retorno nulo para que el programa se ejecute correctamente.
No obstante, si es absolutamente necesario devolver un valor al finalizar el mรฉtodo principal, puede usar System.exit(int status)
80) Quiero volver a alcanzar y utilizar un objeto una vez que haya sido recolectado como basura. ยฟComo es posible?
Una vez que el recolector de basura destruye un objeto, ya no existe en el montรณn y no se puede volver a acceder a รฉl. No hay forma de volver a hacer referencia a รฉl.
81 en Java Programaciรณn de subprocesos, ยฟquรฉ mรฉtodo es imprescindible para todos los subprocesos?
Run() es un mรฉtodo de interfaz Runnable que todos los subprocesos deben implementar.
82) Quiero controlar las conexiones de la base de datos en mi programa y quiero que solo un hilo pueda establecer una conexiรณn a la base de datos a la vez. ยฟCรณmo puedo implementar esta lรณgica?
Respuesta: Esto se puede implementar mediante el uso del concepto de sincronizaciรณn. El cรณdigo relacionado con la base de datos se puede colocar en un mรฉtodo que Sincronizado palabra clave para que sรณlo un hilo pueda acceder a ella a la vez.
83) ยฟCรณmo puede un programador generar manualmente una excepciรณn?
Para lanzar una excepciรณn en un bloque de cรณdigo manualmente, lanzar Se utiliza palabra clave. Luego, esta excepciรณn se detecta y se maneja en el bloque 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) Quiero que mi clase se desarrolle de tal manera que ninguna otra clase (ni siquiera la clase derivada) pueda crear sus objetos. ยฟComo lo puedo hacer?
Si declaramos el constructor de una clase como privado, ninguna otra clase podrรก acceder a รฉl y, por lo tanto, ninguna otra clase podrรก crear una instancia de รฉl y la formaciรณn de su objeto se limitarรก รบnicamente a ella misma.
85) Cรณmo se almacenan los objetos en Java?
En Java, cada objeto, cuando se crea, obtiene un espacio de memoria de un montรณn. Cuando un recolector de basura destruye un objeto, el espacio que se le asignรณ desde el montรณn se reasigna al montรณn y queda disponible para cualquier objeto nuevo.
86) ยฟCรณmo podemos encontrar el tamaรฑo real de un objeto en el montรณn?
En Java, no hay forma de saber el tamaรฑo exacto de un objeto en el montรณn.
87) ยฟCuรกl de las siguientes clases tendrรก mรกs memoria asignada?
Clase A: tres mรฉtodos, cuatro variables, ningรบn objeto
Clase B: cinco mรฉtodos, tres variables, ningรบn objeto
La memoria no se asigna antes de la creaciรณn de objetos. Dado que para ambas clases, no se crean objetos, no se asigna memoria en el montรณn para ninguna clase.
88) ยฟQuรฉ sucede si no se maneja una excepciรณn en un programa?
Si no se maneja una excepciรณn en un programa que utiliza bloques try catch, el programa se cancela y no se ejecuta ninguna instrucciรณn despuรฉs de la instrucciรณn que causรณ el lanzamiento de la excepciรณn.
89) Tengo varios constructores definidos en una clase. ยฟEs posible llamar a un constructor desde el cuerpo de otro constructor?
Si una clase tiene varios constructores, es posible llamar a un constructor desde el cuerpo de otro usando esto().
90) ยฟQuรฉ se entiende por clase anรณnima?
Una clase anรณnima es una clase definida sin ningรบn nombre en una sola lรญnea de cรณdigo usando una nueva palabra clave.
Por ejemplo, en el siguiente cรณdigo hemos definido una clase anรณnima en una lรญnea 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 alguna manera de aumentar el tamaรฑo de una matriz despuรฉs de su declaraciรณn?
Los arrays son estรกticos y una vez que hemos especificado su tamaรฑo, no podemos cambiarlo. Si queremos utilizar colecciones en las que es posible que necesitemos un cambio de tamaรฑo (nรบmero de elementos), deberรญamos preferir el vector a la matriz.
92) Si una aplicaciรณn tiene varias clases, ยฟestรก bien tener un mรฉtodo principal en mรกs de una clase?
Si hay un mรฉtodo principal en mรกs de una clase en una aplicaciรณn Java, no causarรก ningรบn problema ya que el punto de entrada para cualquier aplicaciรณn serรก una clase especรญfica y el cรณdigo comenzarรก รบnicamente desde el mรฉtodo principal de esa clase en particular.
93) Quiero conservar los datos de los objetos para utilizarlos mรกs adelante. ยฟCuรกl es la mejor manera de hacerlo?
La mejor manera de conservar datos para uso futuro es utilizar el concepto de serializaciรณn.
94) ยฟQuรฉ es una clase local en Java?
In Java, si definimos una nueva clase dentro de un bloque particular, se llama clase local. Dicha clase tiene alcance local y no se puede utilizar fuera del bloque donde estรก definida.
95) Cuerda y CuerdaBuffer ambos representan objetos String. ยฟPodemos comparar String y String?Buffer in Java?
Aunque cuerda y cuerdaBuffer Ambos representan objetos String, no podemos compararlos entre sรญ y si intentamos compararlos, obtenemos un error.
96) ยฟQuรฉ API proporciona? Java ยฟpara operaciones sobre conjuntos de objetos?
Java proporciona una API de colecciรณn que proporciona muchos mรฉtodos รบtiles que se pueden aplicar a un conjunto de objetos. Algunas de las clases importantes proporcionadas por Collection API incluyen ArrayList, HashMap, TreeSet y TreeMap.
97) ยฟPodemos convertir cualquier otro tipo a tipo booleano con conversiรณn de tipos?
No, no podemos convertir ningรบn otro tipo primitivo a un tipo de datos booleano ni podemos convertir un tipo de datos booleano a ningรบn otro tipo de datos primitivo.
98) ยฟPodemos usar diferentes tipos de retorno para los mรฉtodos cuando se anulan?
El requisito bรกsico de anulaciรณn del mรฉtodo en Java es que el mรฉtodo anulado debe tener el mismo nombre y parรกmetros, pero un mรฉtodo se puede anular con un tipo de retorno diferente siempre que el nuevo tipo de retorno extienda el original.
Por ejemplo, el mรฉtodo devuelve un tipo de referencia.
Class B extends A {
A method(int x) {
//original method
}
B method(int x) {
//overridden method
}
}
99) ยฟCuรกl es la clase base de todas las clases de excepciรณn?
In Java, Java.lang.Throwable es la superclase de todas las clases de excepciรณn y todas las clases de excepciรณn se derivan de esta clase base.
100) ยฟCuรกl es el orden de llamada de los constructores en herencia?
En caso de herencia, cuando se crea un nuevo objeto de una clase derivada, primero se invoca al constructor de la superclase y luego al constructor de la clase derivada.
ยกยกยกPrepรกrate para tu entrevista de trabajo!!! Atravesar Java Tutorial para estar mejor preparado.
Esta detallada Java Mock Test Quiz te ayudarรก a despejar las dudas sobre Java preguntas de la entrevista y tambiรฉn le ayudarรก a resolver la entrevista.
Estos Java y Java 8 preguntas de la entrevista Tambiรฉn te ayudarรก en tu viva (oral).
