我的运行结果是Re3---------------------
Company()
Research(int year,String location)不知你主要得疑问在哪?

解决方案 »

  1.   

    当你调用构造函数的时候,默认的情况是首先调用超类的无参构造函数。对于这一点可以作如下实验:
    1.在public Company()中去掉System.out.println("Company()");
       Company()就不被打印输出
    2.去掉public Company()构造函数。此时编译器肯定会报错,因为
      public Research(int year,String location)中没有显式调用任何父类构造函数,所以 
     编译器会去找父类的无参构造函数。但由于父类已经定义了有参构造函数,所以编译器不 
     会自动生成无参构造函数。也就是说该函数不存在,当然会报错。
      

  2.   

    public Company()
      {
        super();
        System.out.println("Company()");
      }这个里面的super()起什么作用?
      

  3.   

    bobosji(波波司机) :
       我认为无作用
      

  4.   

    TO bobosji(波波司机) :
        super();在这里写和不写是一样的,因为编译器会自动加入该行。正如我在上面所说,构造函数默认调用超类的无参构造函数。TO hexiaofeng(java爱好者):
       关于你的问题还有什么不明白的地方吗?