Preguntas básicas
Pregunta 1: Análisis de conceptos
- ¿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.
- ¿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.
- ¿Cuáles son los beneficios de utilizar características polimórficas?
- Mejorar la escalabilidad y reutilización de los métodos.
- ¿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:
-
Pasos de escritura:
- Defina la interfaz A y la clase B ordinaria implementa la interfaz A.
- En la interfaz A, defina el método abstracto showA.
- En la interfaz A, defina el método predeterminado showB.
- En la clase B, anule el método showA
- 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:
-
Pasos de escritura:
- Defina la interfaz A y la clase B ordinaria implementa la interfaz A.
- En la interfaz A, defina el método abstracto showA.
- En la interfaz A, defina el método privado show10 (String str), que imprime str 10 veces en un bucle.
- En la interfaz A, defina los métodos predeterminados showB10 y showC10, llame al método show10 respectivamente y pase los parámetros.
- 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:
- Pasos de escritura
- Defina la interfaz A y la clase B ordinaria implementa la interfaz A.
- En la interfaz A, defina el método abstracto showA.
- En la interfaz A, defina el método estático privado show10 (String str), que imprime str 10 veces en un bucle.
- En la interfaz A, defina los métodos estáticos showB10 y showC10, llame al método show10 respectivamente y pase los parámetros.
- En la clase B, defina el método estático showD
- En la clase de prueba, use la interfaz A para llamar al método estático showB10 y al método showC10.
- 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:
-
Pasos de escritura
- Defina la interfaz Universe y proporcione el método abstracto doAnything.
- Defina la clase ordinaria Estrella y proporcione el método de brillo del miembro.
- Defina la clase ordinaria Sun, herede la clase Star e implemente la interfaz Universe
- En la clase de prueba, cree un objeto Star y llame al método Shine.
- 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:光照八分钟,到达地球");
}
}