1. ¿El cm.getConnection() marcado en main() no volverá a imprimir Connection() porque la definición de getConnection() se ha vuelto estática y ya no está inicializada?
Cuando se llama a cm.getConnection() por primera vez, static se ejecuta antes.
static Connection[] ca = new Connection[3]; p>for(Connection x: ca)//¿Qué significa esta expresión?
x = Connection.makeConnection();
}
Se recorrió tres veces, es decir, se crearon tres Connection() Después de la inicialización. actual howManyLeft Por supuesto que son tres. Llamar a System.out.println(howManyLeft) genera 3 2 1
Llame a cm.getConnection() por segunda vez ahora howManyLeft es 0, por lo que la salida ya no es; conexiones
Al mismo tiempo, devuelve vacío
La tercera vez que llamas a cm.getConnection() no tiene sentido y ya está vacío, y la salida también está vacía.
La salida howManyLeft es, por supuesto, 0
2 ¿Cuál es la diferencia entre cm.howManyLeft y howManyLeft en main() en este momento?
No hay diferencia, los dos en realidad son uno, ambos son iguales. Variables globales estáticas. La diferencia radica en tu escritura
3. La condición Conexión x en el bucle for al inicializar la matriz Conexión[] ca: ¿Qué significa ca? ¿Cómo usarlo?
Nuevas funciones posteriores a la versión 1.5, utilizadas para atravesar matrices y colecciones.
Además, los principiantes no deberían leer Thinking in java