Ć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()); } }