【发布时间】:2017-09-04 12:51:56
【问题描述】:
如何使我的程序将以下实例创建限制为四个,以便在我尝试创建第五所学校时显示错误消息“学校无法注册达到最大值”。 一如既往的感谢
public class Driver {
public static void main(String[] args) {
// TODO Auto-generated method stub
Header h1 = new Header();
h1.schoolHeader();
School s1 = new School("Pascoe Vale High School", "101");
School s2 = new School("North Melbourne Primary School", "102");
School s3 = new School("St Aloysuis College", "103");
School s4 = new School("Coburg High School", "104");
School s5 = new School("Chuka Nwobi High School", "105");
}
}
class School {
public static int objCount = 0;
private static String regId;
private String name;
School(String name, String regId) {
this.name = name;
this.regId = regId;
System.out.println("*** Successfully registered " + getName());
objCount++;
}
public void registerHeader() {
System.out.println("--- Registering Participating Schools---");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRegId() {
return regId;
}
public void setRegId(String regId) {
this.regId = regId;
}
}
【问题讨论】:
-
引入工厂模式。
-
使用数组和全局计数...或者在学校中使用静态计数器
-
那么您的构造函数中已经有了静态 School 计数器,如果正在创建另一个,则抛出异常?
-
老实说,我可能是在 3 周前才开始编程,所以我是一个完整的初学者
-
@daniu 你能写一个示例代码吗?谢谢