everything that needs to be initialized before other mothods' invoking must be stated in constructor.But besides the above, some other things can also be done inside constructor, depending on what you would like. Remember constructor is the first "method" to be invoked when you build a new object.
关于你的问题,我觉得三言两语很难说清楚,这是很基本的问题。免费的书至少有
thinking in java
建议到网上下载电子书thinkinjava
构造函数允许overload,使用不同的argument来构造不同的构造函数
生成对象时,根据需要调用需要的那种
一两个可以应付,但是对象一多了,对象名字有差不多的时候就混淆了,所以我要先了解
java的类的构造函数和C++的类的构造函数有什么分别