Preguntas de la entrevista de Complete Works of Java (4)

Preguntas de la entrevista de Complete Works of Java (4)

Baiyu es jaja

31. String s = new String ("xyz"); ¿Cuántos objetos de cadena se han creado?

Respuesta: Dos objetos, uno es "xyz" en el área estática y el otro es un objeto creado en el montón con nuevo.

32. ¿Puede extenderse la interfaz? ¿Pueden las clases abstractas implementar interfaces? ¿Pueden las clases abstractas heredar clases concretas?

Respuesta: Las interfaces pueden heredar interfaces y admitir herencia múltiple. Las clases abstractas pueden implementar interfaces y las clases abstractas pueden heredar clases concretas o clases abstractas.

33. ¿Puede un archivo fuente ".java" contener varias clases (no clases internas)? Cuales son las restricciones?

Respuesta: Sí, pero puede haber como máximo una clase pública en un archivo fuente y el nombre del archivo debe ser exactamente el mismo que el nombre de la clase pública.

34. ¿Puede Anonymous Inner Class heredar otras clases? ¿Se puede implementar la interfaz?

Respuesta: Puede heredar otras clases o implementar otras interfaces. Este método se usa comúnmente en la programación de Swing y el desarrollo de Android para implementar el monitoreo de eventos y las devoluciones de llamada.

35. ¿Puede una clase interna referirse a los miembros de su clase contenedora (clase externa)? ¿Existe alguna restricción?

Respuesta: Un objeto de clase interna puede acceder a los miembros del objeto de clase externa que lo creó, incluidos los miembros privados.

36. ¿Cuáles son los usos de la palabra clave final en Java?

Respuesta: (1) Clase modificada: indica que la clase no se puede heredar; (2) Método modificado: indica que el método no se puede reescribir; (3) Variable modificada: indica que la variable solo se puede asignar una vez y el valor no se puede modificar (constante).

37. Señale los resultados del siguiente programa.


class A {    static {
        System.out.print("1");
    }
    public A() {
        System.out.print("2");
    }
}
class B extends A{
    static {
        System.out.print("a");
    }
    public B() {
        System.out.print("b");
    }
}
public class Hello {
    public static void main(String[] args) {
        A ab = new B();
        ab = new B();
    }
}

Respuesta: Resultado de la implementación: 1a2b2b. Al crear un objeto, la secuencia de llamada del constructor es: primero inicializar los miembros estáticos, luego llamar al constructor de la clase padre, luego inicializar los miembros no estáticos y finalmente llamar al propio constructor.

Sugerencia: si no puede dar la respuesta correcta a esta pregunta, significa que el mecanismo de carga de clases de Java de la pregunta 21 no se ha entendido completamente, así que apúrate y mira de nuevo.

38. Conversión entre tipos de datos:

-¿Cómo convertir una cadena a un tipo de datos básico?
-¿Cómo convertir tipos de datos básicos en cadenas?
responder:

  • Llame al método parseXXX (String) o valueOf (String) en la clase de empaquetado correspondiente al tipo de datos básico para devolver el tipo básico correspondiente;
  • Un método es conectar (+) el tipo de datos básico con una cadena vacía ("") para obtener la cadena correspondiente; el otro método es llamar al método valueOf () en la clase String para devolver la cadena correspondiente

    39. ¿Cómo revertir y reemplazar cuerdas?

    Respuesta: Hay muchos métodos, puede escribir su propia implementación o usar los métodos en String o StringBuffer / StringBuilder. Una pregunta de entrevista muy común es utilizar la recursividad para lograr la inversión de cadenas. El código es el siguiente:


public static String reverse(String originStr) {
        if(originStr == null || originStr.length() <= 1) 
            return originStr;
        return reverse(originStr.substring(1)) + originStr.charAt(0);
    }

40. ¿Cómo convertir una cadena codificada GB2312 a una cadena codificada ISO-8859-1?

Respuesta: El código es el siguiente:
String s1 = "Hola";
String s2 = new String (s1.getBytes ("GB2312"), "ISO-8859-1");

Supongo que te gusta

Origin blog.51cto.com/15061944/2593692
Recomendado
Clasificación