student类中的id的设计。
原始方案:int id;
          用一个全局变量maxId来保存目前分配的id最大值,然后在构造函数中“id=++maxId;”。
原始方案缺陷:扩展性和可修改性不好,而且存在多线程隐患。改进步骤一: id=newID();  
            用一个方法把具体生成id的方案封装,这个好处不言而喻。改进步骤二:要隐藏id的类型。  这个我就有些不明白了。
   书上说的原因:1。如果需要把id的类型由整数改为字符串。
                 2。对外界透露id是整形的做法,实质上是在鼓励程序员对id使用针对整数的操作,如<、>、=等等。
  
   书上说的隐藏方式:如果是c++,简单地使用typeof来把id定义为IdType(一个可以解释为int的用户自定义类型),从而避免将其直接定义为int类型。
                     如果是其他语言,可以创建一个简单的IdType类。我认为的IdType类应该是这样的:因为id就是标识作用,所以应该覆盖equal()函数。
  class IdType{
   private XX id;  //任何类型均可
   private void newId() {……}//创建一个id
   IdType() { newId(); }  //构造函数
   public boolean equals(Object obj){……} //覆盖equals()函数,以便可以达到标识作用
}这只是我很混沌的一点想法,我感觉不怎么懂!请各位高手各抒己见,谈谈自己的看法,谢谢!!~~~还有就我上面创建的类可以达到标识作用,但如果是“一个学生对象的信息对应数据库中学生信息表中一条记录,那id在数据库怎么表示?”,就是说本来用整形来基本类型或者字符串来表示id,这些都可以直接映射到数据库中学生基本信息表中id字段,但如果是对象了,如何映射?请各位高手指教!!~~~~