为了账号安全,请及时绑定邮箱和手机立即绑定

构造方法名称的问

构造方法名必须与类名相同吗?如果我要在同一类中构造较多方法怎么做?

正在回答

4 回答

这都是什么回答,惊了!

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;
    }
}

自己也不知道为什么要写这么多。。。希望对你有帮助吧。。。

4 回复 有任何疑惑可以回复我~
#1

网_涣_Losted

路人表示非常感谢!!!
2017-09-17 回复 有任何疑惑可以回复我~

首先你要明白,构造方法和成员方法;构造方法,是初始化类是调用的。必须要有的。成员方法你自己随便写(原则上,见名知意),是你的类的功能性方法。

0 回复 有任何疑惑可以回复我~

构造方法必须与类名相同。构造多个,那么也是与类名相同,但是返回值或形参不同就行(与重载类似)

0 回复 有任何疑惑可以回复我~

不需要与类同名,但是应该把方法的功能用名称表达清晰~

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530644    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

构造方法名称的问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信