日期:2014-05-20  浏览次数:20950 次

成员函数中,super可以不写在第一行,而构造函数中,super必须写在第一行?
1、类中,成员函数和构造函数的区别?
  是否只是说和类名相同,就是构造函数?不同,便是成员函数?

2、对于super的用法,在构造函数中,如同this一样,必须写在构造函数的第一行,而在成员函数中,则可以随意写在某一行?

上述说法是否严密?上述问题,如何解答?

------解决方案--------------------
1、类中,成员函数和构造函数的区别?
构造函数在java层面上是没有返回值的,且和类名相同,如果和类名相同但有返回值,则是普通方法

2、对于super的用法,在构造函数中,如同this一样,必须写在构造函数的第一行,而在成员函数中,则可以随意写在某一行?

构造方法中的super和其他方法中的super是不一样的,你没办法把构造方法的super那一句直接复制到其他方法中用。这里说的构造方法的super的意思是调用父类的构造方法,形式如:super(...),而普通方法中的super调用指调用父类中的其他成员方法,形式:super.method(...)
------解决方案--------------------
探讨
1、类中,成员函数和构造函数的区别?
构造函数在java层面上是没有返回值的,且和类名相同,如果和类名相同但有返回值,则是普通方法

2、对于super的用法,在构造函数中,如同this一样,必须写在构造函数的第一行,而在成员函数中,则可以随意写在某一行?

构造方法中的super和其他方法中的super是不一样的,你没办法把构造方法的super那一句直接复制到其他方法中用。这里……