Comprender las clases internas anónimas en cinco minutos: notas de estudio de Java

Clase interna anónima:
Esencia: La esencia de una clase interna anónima es un objeto que hereda una subclase anónima de la clase principal (un objeto de subclase de una clase).
Rol: Simplificar el código

格式:
	new 类名/接口名(){
	    重写抽象方法
	}

Ahora tenemos una clase Person.

class abstract Person {
       public abstract void eat();

}

Requisito: ejecutar el método eat de la clase Person.
Pasos:
1. Crear una subclase para heredar de la clase Person
2. Anular el método eat en la subclase
3. Crear un objeto subclase
4. Usar el objeto subclase para llamar al método eat

//创建一个子类继承Person类
class Student extends Person {
	//重写方法
	@Override
	public void eat() {
    	   System.out.println("学生吃学生餐");
	}
}
//创建一个测试类
public class Test {
	public static void main(String[] args) {
		//创建子类对象
		Person student = new Student;
		//调用eat方法
		student.eat();
	}
}

Soy una persona tan perezosa, escribo demasiado código como este y no tengo la energía para seguir escribiendo.
hay una manera mas facil?
Ahora mire los primeros tres pasos de la operación, nuestro propósito es crear un objeto de subclase.
La esencia de una clase interna anónima es un objeto de subclase de una clase.
¿Se pueden condensar los primeros tres pasos en un solo paso? ¡Solo use clases internas anónimas!
Soy un genio ~

//创建一个测试类
public class Test {
	public static void main(String[] args) {
		//创建Person的匿名内部类对象
		Person student = new Person{
		  @Override
		  public void eat() {
    	            System.out.println("学生吃学生餐");
	         }
		};//这里的分号不要忘记咯。
		//调用eat方法
		student.eat();
	}
}

En resumen: el
anonimato solo oculta el nombre, en el caso oculta el nombre de la clase del alumno.
Lo que hizo Student, anulando el método de comer, también se hizo en la clase interna anónima.
Por lo tanto, cuando queremos obtener un objeto de subclase de una clase, podemos crear directamente una clase interna anónima de este objeto.
Del mismo modo, la interfaz es el mismo método.

Supongo que te gusta

Origin blog.csdn.net/LinKin_Sheep/article/details/109313760
Recomendado
Clasificación