典型的继承滥用。你的Student显然是包含一个StudentInfo,而不是是StudentInfo的子类。
所以,
public class Student{
  private StudentInfo si;
  ....
}

解决方案 »

  1.   

    这样写不如把两个类放在一起,或者通过import,这样继承意义不大
      

  2.   

    一个数据表对应一个包:没有贯彻软件复用.你写的Bean别的地方好象用不了.
      

  3.   

    to( steven_cheng(286) 这个继承滥用会引起什么样的不良后果呢?
      

  4.   

    扩展一个类,有两种方法,一种是继承,一种是组合,有些时候也称之为"聚合"(aggregation)或"包容"(containment)。以上面的例子,Student类中包含一个StudentInfo类的实例作为他的成员变量,那就是组合。
    考察两个类是否为继承关系,可以根据里氏代换原则。
    抄一段书:
    里氏代换原则:如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有对象o1都换成o2时,程序P的行为没有变化,那么类型T2是T1的子类型。所以,在这里,Student和StudentInfo根本没有继承的逻辑。
      

  5.   

    数据表映射java类 是很好的思想 
    但是我个人觉得这里不应该用继承 可以做公用的业务封装 再调用