每次写实体类的时候,都要写一次无参数的构造函数,再写一次有参数的构造函数
可是我什么都不写,似乎程序也没什么问题,我知道不写就代表写了默认无参数的构造函数
那有参数的构造函数有什么作用啊
请高手指教

解决方案 »

  1.   

    估计你没用到hibernate把,hibernate的hql语句有个功能,如下
    String hql = "select new Student(id,name,age,birth) from entity.Student";
    List<Student> list = query.executeQuery(hql).list();
    用到Student(int id,String name,int age,Date birth)这个构造函数。。而且有参数的构造函数,可以方便赋值,比如要创建一个Student,就不用通过setId setName setAge了,
    直接Student s = new Student(1,'bill',20,'2000-2-2');就可以拉。。
      

  2.   

    这个要看你咋使用,
    (1)在java中,系统会默认所有类一个无参数的构造方法
    (2)如果你写了有参数的构造方法,不写无参数的构造方法,无惨的构造方法就会被屏蔽掉,当你想使用当前类的无参数构造方法创建对象时,会报错。因为系统会认为当前类只有有参数的构造方法。所以在开发中为了后续程序的扩展性(你不使用无参数的构造方法,可能别人会使用)