¿Las variables declaradas dentro de un bloque estático son accesibles en cualquier otro lugar? ¿Qué "tipo" de miembro son ellos (es decir, ¿son también miembros estáticos?)¿Cuál es el alcance de las variables declaradas dentro de un bloque estático en Java?
Respuesta
Generalmente, los programadores no necesitan declarar ninguna variable dentro de bloques estáticos, generalmente esto es solo para asegurar la inicialización de variables estáticas para uso de todas las instancias de clase (dependiendo del alcance de la variable estática).
Las variables declaradas dentro de un bloque estático serán locales a ese bloque al igual que las variables de métodos y constructores.
Las variables declaradas dentro de un bloque solo son accesibles dentro de ese bloque. Estático o no.
Las variables declaradas dentro de un método estático son estáticas. Solo pueden acceder a otras variables estáticas o variables globales.
Pero a diferencia de las variables locales en C/C++ 's, esas variables no realmente "salir de su ámbito" después de las las ejecuta el bloque, ¿verdad? –
El alcance de las variables en un bloque es el bloque. Después de que se ejecuta, no tiene forma de acceder a estas variables. Eso es lo que significa que las variables salgan del alcance. Un bloque estático solo se ejecuta una vez, por lo que no hay forma de que pueda volver a ingresarlo. Normalmente se usa un bloque estático para inicializar campos estáticos en la clase cuando se carga la clase y antes de que se ejecute cualquier constructor. Los campos estáticos tienen el alcance que usted les da: público, protegido por paquete, protegido, privado. –
son como variables de método. Solo accesible en el alcance del bloque.
No, no visible fuera del bloque. Actúan como variables locales; piense en un bloque estático como una función anónima que se llama en la inicialización de clase. No son miembros estáticos.
- 1. Variables declaradas dentro de un bucle
- 2. ¿Cuál es el alcance de las variables dentro de una vista?
- 3. En Java, ¿las variables declaradas dentro de los métodos estáticos son estáticas?
- 4. ¿Las variables tienen un "alcance" estático o dinámico en javascript?
- 5. Obj-C: funciones C declaradas dentro o fuera del bloque @implementation, ¿cuál es la diferencia?
- 6. Java: ¿Cuándo es útil un bloque de inicialización estático?
- 7. estático bloque en Java
- 8. C#: Definición del alcance de las variables declaradas en la parte de inicialización de for-loops?
- 9. Cargar propiedades Java dentro del bloque de inicializador estático
- 10. ¿Cuál es el alcance predeterminado de un método en Java?
- 11. ¿Cuál es el alcance variable dentro de la cadena `class_eval`?
- 12. En Javascript, ¿cuál es el alcance de las variables utilizadas en setTimeout?
- 13. ¿Cuál es el alcance de un LoaderManager?
- 14. ¿El recolector de basura de Java seguirá adelante y se encargará de las variables declaradas dentro de los bucles?
- 15. Intercambio de variables dentro del método estático
- 16. Alcance de Python/malentendido estático
- 17. ¿Es posible obtener recursos dentro de un bloque de contexto estático?
- 18. Obtenga todas las variables de instancia declaradas en la clase
- 19. Cómo devolver desde un bloque de inicialización estático en java
- 20. Alcance de variables en sentencias if
- 21. ¿Cuál es el equivalente de Smalltalk de Java estático?
- 22. ¿Cuál es la diferencia entre un método sincronizado y un bloque sincronizado en Java?
- 23. ¿Cuál es el alcance de un alias de espacio de nombres en C++?
- 24. paréntesis en las variables de bloque
- 25. Las variables declaradas dentro de una instrucción if dan como resultado "variable indefinida"
- 26. ¿Cuál es el significado de "sintético estático"?
- 27. Hamlet acceso automático a las variables en el alcance
- 28. C# Las variables estáticas - alcance y persistencia
- 29. ¿Qué sucede con las variables globales declaradas en una DLL?
- 30. ¿cuál es la diferencia entre las variables locales y de instancia en Java
"Generalmente, los programadores no necesitan declarar ninguna variable dentro de bloques estáticos" >> ¿Por qué no? Si necesita objetos temporales para contener datos, tendrá variables en bloque estático. Piense en un escenario en el que necesite instanciar un campo estático después de hacer aritmética y desee hacer que el código sea legible 'radio de flotación estático; área de flotación estática; estática { flotación final PI = 3.14f; area = (float) (PI * Math.pow (radio, 2)); } ' – realPK