Extraído de JavaGuide (Github star 134k star! "Java Learning + Interview Guide" cubre el conocimiento básico que la mayoría de los programadores de Java necesitan dominar)
- Forma gramatical : desde la perspectiva de la forma gramatical, las variables miembro pertenecen a la clase, mientras que las variables locales son variables definidas en bloques de código o métodos o parámetros de métodos; las variables miembro se pueden modificar mediante modificadores como , y las variables locales
public
no seprivate
pueden modificarstatic
por modificadores de control de acceso y ; sin embargo, las variables miembro y las variables locales pueden ser modificadas por .static
final
- Método de almacenamiento : Del método de almacenamiento de variables en memoria, si se
static
modifica la variable miembro con , entonces la variable miembro pertenece a la clase, si no sestatic
modifica, la variable miembro pertenece a la instancia. Mientras que los objetos existen en la memoria del montón, las variables locales existen en la memoria de la pila. - Tiempo de vida : desde la perspectiva del tiempo de vida de las variables en la memoria, las variables miembro son parte del objeto y existen con la creación del objeto, mientras que las variables locales se generan automáticamente con la llamada al método y mueren al final de la llamada al método. .
- Valor predeterminado : A juzgar por si la variable tiene un valor predeterminado, si la variable miembro no tiene asignado un valor inicial, se reemplazará automáticamente por el valor predeterminado del tipo