Preguntas y ejercicios de la entrevista sobre interfaz y polimorfismo

Preguntas básicas

Pregunta 1: Análisis de conceptos

  1. ¿Qué es una interfaz y cómo definirla?
    • Una interfaz es un tipo de referencia en el lenguaje Java y una colección de métodos.
    • Utilice la clave de interfaz para definir la interfaz, en la que puede definir métodos abstractos, métodos predeterminados, métodos privados, métodos estáticos y otros métodos.
  2. ¿Qué es el polimorfismo y cuáles son sus condiciones?
    • El comportamiento de un tipo de cosa tiene múltiples manifestaciones.
    • condición:
      • Heredar o implementar [elija uno]
      • Anulación de método.
      • La referencia de la clase principal apunta al objeto de la clase secundaria.
  3. ¿Cuáles son los beneficios de utilizar características polimórficas?
    • Mejorar la escalabilidad y reutilización de los métodos.
  4. ¿Cuáles son las desventajas de utilizar características polimórficas?
    • Debido a la promoción de tipos, los métodos de llamada exclusivos de los objetos de subclase deben estar abatidos.

Pregunta 2: ejercicios de gramática

  • Punto de sintaxis: interfaz

  • Escriba el código paso a paso y el efecto se muestra en la figura:
    Insertar descripción de la imagen aquí

  • Pasos de escritura:

    1. Defina la interfaz A y la clase B ordinaria implementa la interfaz A.
    2. En la interfaz A, defina el método abstracto showA.
    3. En la interfaz A, defina el método predeterminado showB.
    4. En la clase B, anule el método showA
    5. En la clase de prueba, cree un objeto de clase B y llame al método showA y al método showB.
  • Respuesta de referencia.:

	
	public class Test2 {
    
    
	    public static void main(String[] args) {
    
    
	        B b = new B();
	        b.showA();
	        b.showB();
	    }
	}
	
	interface A{
    
    
	    public abstract void showA();
	    public default void showB(){
    
    
	        System.out.println("BBBB");
	    }
	}
	
	class B implements A {
    
    
	    @Override
	    public void showA() {
    
    
	        System.out.println("AAAA");
	    }
	}

Pregunta 3: ejercicios de gramática

  • Punto de sintaxis: interfaz

  • Escriba el código paso a paso y el efecto se muestra en la figura:

Insertar descripción de la imagen aquí

  • Pasos de escritura:

    1. Defina la interfaz A y la clase B ordinaria implementa la interfaz A.
    2. En la interfaz A, defina el método abstracto showA.
    3. En la interfaz A, defina el método privado show10 (String str), que imprime str 10 veces en un bucle.
    4. En la interfaz A, defina los métodos predeterminados showB10 y showC10, llame al método show10 respectivamente y pase los parámetros.
    5. En la clase de prueba, cree el objeto B y llame al método showA, al método showB10 y al método showC10.
  • Respuesta de referencia.:

	
	public class Test3 {
    
    
	    public static void main(String[] args) {
    
    
	        BB b = new BB();
	        b.showA();
	        b.show10B();
	        b.show10C();
	    }
	}
	
	interface AA{
    
    
	    public abstract void showA();
	    public default void show10B(){
    
    
	       show10("BBBB");
	    }
	
	    public default void show10C(){
    
    
	        show10("CCCC");
	    }
	
	    private  void show10(String str){
    
    
	        for (int i = 0; i < 10; i++) {
    
    
	            System.out.print(str+" ");
	        }
	        System.out.println();
	    }
	}
	
	class BB implements AA {
    
    
	    @Override
	    public void showA() {
    
    
	        System.out.println("AAAA");
	    }
	
	}

Pregunta 4: ejercicios de gramática

  • Puntos de sintaxis: interfaz, estática

  • Escriba el código paso a paso y el efecto se muestra en la figura:

Insertar descripción de la imagen aquí

  • Pasos de escritura
  1. Defina la interfaz A y la clase B ordinaria implementa la interfaz A.
  2. En la interfaz A, defina el método abstracto showA.
  3. En la interfaz A, defina el método estático privado show10 (String str), que imprime str 10 veces en un bucle.
  4. En la interfaz A, defina los métodos estáticos showB10 y showC10, llame al método show10 respectivamente y pase los parámetros.
  5. En la clase B, defina el método estático showD
  6. En la clase de prueba, use la interfaz A para llamar al método estático showB10 y al método showC10.
  7. En la clase de prueba, use la clase B para llamar al método showA y al método showD.
  • Respuesta de referencia.:
	
	public class Test4 {
    
    
	    public static void main(String[] args) {
    
    
	       AAA.showB();
	       AAA.showC();
	        BBB bbb = new BBB();
	        bbb.showA();
	        BBB.showD();
	    }
	}
	
	interface AAA {
    
    
	    public abstract void showA();
	    public static void showB(){
    
    
	        System.out.println("static BBBB");
	
	        show10("BBBB");
	    }
	
	    public static void showC(){
    
    
	        System.out.println("static CCCC");
	
	        show10("CCCC");
	    }
	
	    private static void show10(String str) {
    
    
	        for (int i = 0; i < 10; i++) {
    
    
	            System.out.print( str+" ");
	        }
	        System.out.println();
	    }
	}
	
	class BBB implements AAA {
    
    
	    @Override
	    public void showA() {
    
    
	        System.out.println("AAA");
	    }
	
	    public static void showD(){
    
    
	        System.out.println("DDDD");
	    }
	}

Pregunta 5: ejercicios de gramática

  • Puntos gramaticales: interfaz, polimorfismo.

  • Escriba el código paso a paso y el efecto se muestra en la figura:

Insertar descripción de la imagen aquí

  • Pasos de escritura

    1. Defina la interfaz Universe y proporcione el método abstracto doAnything.
    2. Defina la clase ordinaria Estrella y proporcione el método de brillo del miembro.
    3. Defina la clase ordinaria Sun, herede la clase Star e implemente la interfaz Universe
    4. En la clase de prueba, cree un objeto Star y llame al método Shine.
    5. En la clase de prueba, cree el objeto Sun de forma polimórfica, llame al método doAnything, tírelo hacia abajo y llame al método shiny.
  • Respuesta de referencia.:

		
		public class Test5 {
    
    
		    public static void main(String[] args) {
    
    
		        Star s  = new Star();
		        s.shine();
		
		        System.out.println("====================");
		
		        Universe universe = new Sun();
		
		        universe.doAnything();
		        Sun sun  = (Sun) universe;
		        sun.shine();
		    }
		}
		
		interface  Universe{
    
    
		    public abstract void doAnything();
		}
		
		class Star {
    
    
		    public void shine(){
    
    
		        System.out.println("star:星星一闪一闪亮晶晶");
		    }
		}
		class  Sun extends Star implements Universe{
    
    
		    @Override
		    public void doAnything() {
    
    
		        System.out.println("sun:太阳吸引着9大行星旋转");
		    }
		    @Override
		    public void shine() {
    
    
		        System.out.println("sun:光照八分钟,到达地球");
		    }
		}

Supongo que te gusta

Origin blog.csdn.net/zhangchen124/article/details/132487773
Recomendado
Clasificación