Static Class Members and Methods
Consider the following class definition.
public class DatabaseConnection {
private static int maxConnections = 5;
private static int activeConnections = 0;
private String connectionID;
private boolean isConnected;
public DatabaseConnection(String id) {
connectionID = id;
isConnected = false;
}
public boolean connect() {
if (activeConnections < maxConnections) {
activeConnections++;
isConnected = true;
return true;
}
return false;
}
public void disconnect() {
if (isConnected) {
activeConnections--;
isConnected = false;
}
}
public static int getActiveConnections() {
return activeConnections;
}
public static boolean canConnect() {
return activeConnections < maxConnections;
}
}
What is printed when the following code segment is executed?
DatabaseConnection db1 = new DatabaseConnection("DB1");
DatabaseConnection db2 = new DatabaseConnection("DB2");
DatabaseConnection db3 = new DatabaseConnection("DB3");
db1.connect();
db2.connect();
db1.disconnect();
db3.connect();
System.out.println(DatabaseConnection.getActiveConnections() + " " + DatabaseConnection.canConnect());
A
3 false
B
1 true
C
2 false
D
2 true
Question Leaderboard
Not enough data yet to show leaderboard.
APFIVE