Java基础(3)构造方法

构造方法

  哈哈,我能说构造方法这个神奇的东东,我是近几天做梳理的时候,才重视起来的么。
  Java每个类,都有一个或多个构造方法。构造方法与类名相同,这个你可以不写,那么系统就会默认一个空的构造方法。使用new创建对象时,会调用构造方法初始化对象。
很关键的哦,用构造方法初始化对象。
正常开发中,构造方法对于初级程序员来说,可以忽略。但是对于想要进阶的程序员来说,灵活使用构造方法,可以让编码更有效率也更好看。
我用个代码示例吧:

public class Student{
        private int id;
        private String name;
        private String score;
    public Student(){
        }//一个空的构造方法
    public Student(Map<String,String> stuInfoMap){
        this.id =Integer.valueOf(stuInfoMap.get("id"));
        this.name=stuInfoMap.get("name");
        this.score=stuInfoMap.get("score");
        }//带参数的构造方法
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }

    }

如上,一个带构造方法的实体类,我们在实例化这个类的时候

Student stu=new Student();
System.out.println(JSONObject.toJSONString(stu));

这样使用空参构造方法的时候,输出的话我们获得的是一个空的学生对象,我们需要用set方法,给这个对象填充相应的值;

Map<String,String> stuInfo=new Map<>();
stuInfo.put("id","123");
stuInfo.put("name","李三");
stuInfo.put("score","33");
Student stu=new Student(stuInfo);

System.out.println(JSONObject.toJSONString(stu));
而使用带参的构造方法时候,打印之后可以看到我们就直接获得了一个拥有完整属性的学生对象。
后面有什么新的发现,我会继续补充。

06-15 00:22