java中的构造方法到底有什么用?什么时候采用?

请大侠帮我回答下这两个问题!谢谢!

1.如果当用户没有定义构造方法时,编译器会为类自动添加形如类名() { } 的无参构造方法,但是一但自己定义了构造 方法,编译器将不再自动添加.

也就是说构造方法不是必须有的.如果你之前一直未自定义构造方法,当你new一个对象时,系统会自动调用默认的一个无参构造方法,给你对象的实例变量赋初值,比如int型默认为0.但一旦你自己定义了构造方法并new一个对象后,你再new一个对象时系统将不再为你自动提供默认的无参构造方法,那么你必须自己定义一个构造方法,否则编译出错

2 构造器可以不只一个,这叫做方法的重载

3.构造方法不但是要给对象的实例变量赋初值,更重要的是还和new一起来创建对象 ,如果你的对象没有实例变量,当然不用给对象的实例变量赋初值,也就不需要有参的构造器.但这在实际应用中,是毫无意义的.因为没有实例变量的对象什么也干不了.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-15
构造方法是在创建这个类的实例(对象)的时候被调用的,构造方法没有返回类型。
刚学java的话,建议你下一个java教学视频,推荐一个给你
http://www.sunxin.org/ 孙鑫老师的java教学视频,很不错,适合初学者
第2个回答  2009-03-15
例如Student student = new Student();
这时调用默认的构造函数。
Student student = new Student("张三");
调用Student(String name){this.name = name;}这个构造函数。

public class Student{
private String name;
private int number;
Student(){}
Student(String name){this.name = name;}
Student(int number, String name){this.number = number;this.name = name;}
}
同样的构造函数名,参数不同,就是重载。
当被new时候,就被初始化,调用相应的构造函数了
相似回答