创建一个球员类,并且该类最多只允许创建十一个对象。提示利用 static 和封装性来完成。
时间: 2024-10-20 15:06:20 浏览: 8
为了限制一个类的对象实例数不超过11个,并利用`static`关键字和封装性,我们可以创建一个名为`Player`的类,同时包含一个静态变量`totalPlayers`来记录当前已创建的玩家数。当达到最大数量时,可以抛出异常或者返回错误信息。以下是这个类的一个简单实现:
```java
public class Player {
private static int totalPlayers = 0;
// 使用私有构造函数,防止外部直接创建对象
private Player() {
if (totalPlayers >= 11) {
throw new IllegalStateException("已达最大玩家数量限制,无法再创建新球员");
}
totalPlayers++;
}
// 提供公共的工厂方法,用于创建玩家对象
public static Player createPlayer() {
return new Player();
}
// 获取当前创建的球员总数
public static int getTotalPlayers() {
return totalPlayers;
}
// 封装性示例:隐藏内部状态,仅提供获取总人数的方法
public String getPlayerInfo() {
return "总共有" + totalPlayers + "名球员";
}
}
```
在这个类中,我们通过私有化构造函数并提供公有的`createPlayer()`方法来控制实例的创建。当尝试创建第12个玩家时,构造函数会抛出异常。
阅读全文