构造方法名必须与类名相同吗?如果我要在同一类中构造较多方法怎么做?
这都是什么回答,惊了!
1L直接错了,构造方法就是要与类名相同。但
2L意思是对的,但要注意构造方法没有返回值。
构造方法传参数可以方便给对象的属性赋值。
比如一个Students类,有ID,姓名,性别等字段。现在需要添加一个姓名为小明,性别为男的对象。如果构造方法的参数列表中有这些参数,我们只需
Students s1 = new Students(1,"小明","男");
而如果只有无参数的构造方法,只能:
Students s2 = new Students(); s2.setSid(2); s2.setSname("小雪");
就需要使用set方法进行赋值。所以带参数的构造方法,赋值很方便。
根据JavaBean规范的要求,属性必须申明为 private。
所以,不应出现
s2.Sname = "小昭";
这种直接把属性声明为public的行为。
eclipse下可以在要生成构造方法的地方,右键->source->Generate Constructor using Fields,然后选择你需要在构造方法初始化的属性就好。
public class Students { private int sid; //学号 private String sname; //姓名 private String gender; //性别 private Date birthday; // 出生日期 private String address; // 地址 public Students() { } public Students(int sid, String sname, String gender) { this.sid = sid; this.sname = sname; this.gender = gender; } public Students(String sname, String gender, Date birthday, String address) { this.sname = sname; this.gender = gender; this.birthday = birthday; this.address = address; } public Students(int sid, String sname, String gender, Date birthday, String address) { this.sid = sid; this.sname = sname; this.gender = gender; this.birthday = birthday; this.address = address; } }
自己也不知道为什么要写这么多。。。希望对你有帮助吧。。。
首先你要明白,构造方法和成员方法;构造方法,是初始化类是调用的。必须要有的。成员方法你自己随便写(原则上,见名知意),是你的类的功能性方法。
构造方法必须与类名相同。构造多个,那么也是与类名相同,但是返回值或形参不同就行(与重载类似)
不需要与类同名,但是应该把方法的功能用名称表达清晰~