展开全部
首先,一般来说,C/C++里面叫“函数”,Java里面叫“方法e68a84e8a2ad62616964757a686964616f31333335343939”,所以它叫“构造方法”。
构造方法的用处就是标示怎么“构造”一个实例对象。例如有这样一个学生类的定义:class Student{
private String name;
private int age;
public Student(){
super();
}
public Student(String name,int age){
super();
this.name = name;
this.age = age;
}
}
很简单,Student类有两个属性分别为name和age,也有两个构造方法,一个是无参数的,一个是有name和age两个参数的。
那么当你需要一个Student类实例对象时,一般来说,就会用到这样的代码:Student stu = new Student(); //创建一个学生对象
代码是很简单,不过JVM实际上是怎么执行呢?它会申请内存,创建对象,初始化对象,得到对象引用,然后把引用赋值给stu变量。这就有个问题了,如果你把你自己想象成JVM,有条命令丢过来给你说“喂,JVM,造个Student对象给我”,你是不是得知道具体怎么造这个对象?构造方法就是起这个作用的,“告诉”JVM如何去创建这类对象。
所以像刚才那行代码,JVM发现要执行的代码要创建Student对象,并且无参数,就会调用无参数的构造方法。同理,如果有以下代码:Student zhang = new Student("张三",20); //创建一个学生对象
JVM就会去调用带name和age两个参数的构造方法了。这个构造方法除了创建一个Student对象外,在构造的时候就会根据给定的参数name、age设置正在构造的这个对象name、age属性。