Las clases internas, clases anónimas

1. ¿Cuál es la clase interna?
"Programación JAVA" en esta definición:
clase interna (también conocido como tipo empotrado), se define dentro de una de las otras clases. Estos son algunos ejemplos:

public class showInnerClass{
  private int date;
public void m(){
 InnerClass instance = new InnerClass();
 }
class InnerClass{
public void mi(){
data++;
m();
  }
 }
}

InnerClass clase definida dentro de la clase showInnerClass. Tiene las siguientes características:
(1) de referencia de clase interna contiene datos y los métodos de su clase externa, no es necesario hacer referencia a la clase externa pasado al constructor de la clase, por esta razón, la clase interna puede hacer que el programa simple.
(2) para soportar una única obra dentro de la clase de la clase externa. Después de compilar su nombre como "nombre de la clase externa dentro de departamento categoría nombre llamada . C l un s s . caso como , s h la w yo norte norte mi r C l un s s en dentro de departamento categoría yo norte norte mi r C l un s s , es editar traducir es s h la w yo norte norte mi r C l un s s nombre de la clase interna .class ". Por ejemplo, showInnerClass clase interna InnerClass, se compila en showInnerClass $ InnerClass.class.
(3) la clase interna puede ser declarado como public, protected, private, su significado es el mismo con los otros miembros de la clase.
(4) la clase interna puede ser declarado como estático, puede utilizar el nombre de clase de la clase externa a las clases internas estáticas de acceso, clases internas estáticas pero no puede acceder miembro no estática fuera de la clase.
(5) a menudo crear objetos dentro de la clase fuera de la clase, pero también pueden ser creados dentro de la clase de objeto de otra clase. Si una clase interna no estática, primero debe crear una instancia de la clase externa, y luego crear objetos dentro de la clase utiliza la siguiente sintaxis:

clase clase clase Externa Interna nombre de objeto interno = .new clase de objeto externo interna ();

(6) Si la clase interna es estática, se puede crear utilizando la siguiente sintaxis objeto:

clases externos dentro de un nombre de clase = nuevo objeto de clase dentro de la clase interna clase externa ();

2. ¿Por qué necesitamos las clases internas?
Algunas personas tienen un problema: algo que debe ser alcanzado dentro de la clase con algo aprendido anteriormente también se puede lograr, por qué utilizarlo? Este problema se puede explicar en términos de gruesa del ambiente. En algunos lugares se utiliza métodos de la clase sería más conveniente.

3. clase anónima
clase anónima es una subclase de ningún nombre. Debido a que no hay un nombre, puede hacer que el código sea más concisa. . Por ejemplo,
el Banco un objeto de clase con el código siguiente, se crea una subclase de Banco:

new Bnak(){
...类体
}

Podemos ver que esto hace que la creación de subclases de objetos más concisa. Pero también existe una limitación, es el primer uso. No se puede utilizar esta segunda categoría, porque ningún nombre.

Publicado 35 artículos originales · ganado elogios 0 · Vistas 1299

Supongo que te gusta

Origin blog.csdn.net/c1776167012/article/details/102942213
Recomendado
Clasificación