Análisis de preguntas y respuestas reales de dos programadores
Pregunta 1: ¿Cuál es la diferencia entre clases internas y subclases de Java?
Respuesta: Una clase interna se refiere a definir otra clase en una clase externa. La clase interna tiene acceso a la clase externa y puede acceder a todas las variables y métodos definidos en la clase. Una subclase es una clase que hereda de una superclase y tiene acceso a todos los campos y métodos públicos y protegidos de la superclase.
P2: ¿Cuál es el propósito de los métodos estáticos y las variables estáticas?
Respuesta: Todas las instancias de una clase utilizan variables estáticas. Una clase estática solo puede acceder a variables estáticas de la clase o llamar a métodos estáticos de la clase.
P3: ¿Cuáles son los descriptores de acceso comunes en el lenguaje Java y cuáles son sus significados?
Respuesta: El descriptor de acceso en Java es una palabra clave utilizada antes del nombre de la clase para definir el alcance del acceso. Los descriptores de acceso comunes son los siguientes:
Público: público * * *, al que se puede acceder mediante cualquier clase, método y campo del proyecto.
Protegido: protegido, puede acceder la misma clase o subclase y no se puede acceder desde el exterior.
Predeterminado: De forma predeterminada, solo se puede acceder a él mediante ClassMethod y Field del mismo paquete.
Privado: privado, solo accesible para esta clase.
P4: ¿Qué es la encapsulación de datos y su importancia?
Respuesta: La encapsulación se utiliza en 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. Cada objeto tiene su propio conjunto de métodos y variables y puede realizar sus funciones independientemente de otros objetos. Además, la encapsulación también sirve para ocultar datos.
P5: ¿Qué es una clase singleton? Y se dan ejemplos de aplicación.
Respuesta: Una clase singleton solo puede tener una instancia. Debe crear su propia instancia única y proporcionársela a todos los demás objetos. La mejor práctica para escenarios de uso singleton es que solo puede conectarse a la base de datos debido a algunas limitaciones del controlador o problemas de licencia.
P6: ¿Qué es un ciclo? ¿Qué son los bucles en Java?
Respuesta: Los bucles se utilizan para ejecutar declaraciones repetidamente en programación. Hay tres tipos de bucles en Java:
1, bucles for
El bucle for se utiliza para ejecutar una instrucción durante un número específico de repeticiones. Se puede utilizar un bucle for cuando el programador conoce claramente el número de iteraciones.
2.While Loop
Cuando una declaración satisface una condición, comienza a ejecutarse repetidamente hasta que la declaración ya no satisface la condición y sale del ciclo. En un bucle While, se verifica una condición antes de ejecutar la declaración.
3.do while loop
Do while y while son básicamente similares. La única diferencia es que do while ejecuta la declaración primero y luego verifica la condición, lo que significa que do while. El bucle se ejecutará al menos una vez.
P7: ¿Qué es un bucle infinito? ¿Cómo declarar un bucle infinito?
Respuesta: El bucle infinito se refiere a la ejecución incondicional y la ejecución infinita. Los bucles infinitos se pueden finalizar definiendo un bloque de interrupción.
P8: ¿Cuál es la diferencia entre variables dobles y flotantes en Java?
Respuesta: float es un número de punto flotante de precisión simple, 4 bytes en la memoria es un número de punto flotante de doble precisión y 8 bytes en la memoria.
P9: ¿Qué significa la palabra clave Final en Java? Por favor dé un ejemplo.
Respuesta: final es una palabra clave en Java, que significa "inmutable" y "estado final". La última clase no se puede heredar y no tiene subclases. De forma predeterminada, los métodos de las clases finales son finales y las subclases no pueden anularlos, pero se pueden heredar. La última variable miembro representa una constante, que solo se puede asignar una vez y el valor no cambiará después de la asignación. Final no se puede utilizar para modificar constructores.
En el siguiente ejemplo, se declara const_val y se le asigna una constante 100: private final int const_val = 100. Cuando un método se declara final, las subclases no pueden anularlo y es más rápido que otros métodos.
P10: ¿Qué es el operador ternario?
Respuesta: El operador ternario, también llamado operador condicional, determina qué valor asignar a una variable en función de un valor booleano. ¿Se expresa como...? ...:...
En el siguiente ejemplo, si el rango es 1, estado=Listo; de lo contrario, estado=Pendiente.
P11: ¿Qué es un paquete Java? ¿Cuál es su significado?
Respuesta: Para organizar mejor las clases, Java proporciona un mecanismo de paquete para distinguir el espacio de nombres de los nombres de las clases.
La función del empaquetado:
1. Organizar clases o interfaces con funciones similares o relacionadas en el mismo paquete para facilitar la búsqueda y el uso de clases.
2. Al igual que las carpetas, los paquetes se almacenan en directorios en forma de árbol. Los nombres de clase en el mismo paquete son diferentes y los nombres de clase en diferentes paquetes pueden ser iguales. Al llamar a clases con el mismo nombre de clase en dos paquetes diferentes al mismo tiempo, se debe agregar el nombre del paquete para distinguirlos. Por tanto, los paquetes pueden evitar conflictos de nombres. 3. Los paquetes también restringen los permisos de acceso. Solo las clases con permisos de acceso a paquetes pueden acceder a las clases del paquete.