Ćwiczenie.
Napisz klasę ConnectionManager, która będzie zarządzać tablicą obiektów Connection (tablica ma mieć stałą liczbę elementów). Programista-klient nie ma mieć możliwości jawnego tworzenia obiektów klasy Connection, polegając jedynie na statycznej metodzie z klasy ConnectionManager. Kiedy klasie ConnectionManager skończą się obiekty Connection, metoda ta powinna zwracać referencję pustą. Prztestuj działanie klas w metodzie main().
Rozwiązanie:
package net.traininguniverse.access;
class Connection {
private Connection() {
}
public static Connection makeConnection() {
return new Connection();
}
}
public class ConnectionManager {
static int count = 0;
static final int size = 2;
static Connection makeConnection() {
count++;
if (count <= size)
return Connection.makeConnection();
else
return null;
}
public static void main(String[] args) {
Connection[] connections = new Connection[size];
connections[0] = makeConnection();
connections[1] = makeConnection();
System.out.println(connections[1]);
System.out.println(makeConnection());
}
}
