1.基本概念:
构造器是类中的一个特殊方法,该方法在对象实例化时被调用。构造器的用途适当对象实例化时初始化对象的成员变量。当我们要为一个类添加构造器时南无构造器名称就必须和类的名称一致,并且不能声明返回值。
如我们给一个叫Student的类添加构造器:
1 /** 2 *Student类 3 */ 4 5 public class Student{ 6 public String studentName; //学生姓名 7 public int studentAge; //学生年龄 8 public String studentSex; //学生性别 9 public Student(){ 10 system.out.println("在一个无参构造器内。"); 11 studentName = "匿名"; 12 studentAge = "20"; 13 studentSex = "男"; 14 } 15 public Student(String studentName,int studentAge,String studentSex){ 16 system.out.println("在有三大参数的参构造器内。"); 17 studentName = studentName; 18 studentAge = studentAge; 19 studentSex = studentSex; 20 } 21 //类余下定义部分 22 }
当为构造器添加多个构造器时,应用了方法的重载的规则,每个构造器必须有唯一的形式参数列表(上面代码中红字部分就是构造器的形式参数列表),一与其他构造器相区别。
2.构造器的作用:
对象使用new关键字实例化时,jvm(java虚拟机)对对象分配内存,并初始化。因此,对象的成员变量值被设置为初始值。如果没有构造器,我们就得初始化所有成员变量,以确保对象的数据是有意义的。在对象实例化是,构造器给我们提供了构造对象的几会,以确保对象的成员变量都是有意义的数据。
3.构造器与方法的区别:
①.构造器的名称必须与类名相同(大小写也必须一致)。
②.构造器不能声明返回值,也不能返回void。
4.默认构造器:
如果我们编写一个类,但在这类中并没有编写构造器。这构造器用public访问修饰符限定,没有形式参数,且不会做任何事情。默认构造器仍然遵循构造器的规则。
如果我们为类编写了一个或多个构造器那么系统就不会在生成默认构造器生成了。
5.构造器的调用方法:
当对象使用关键字 new 实例化对象时,构造器就被调用了。一个可以有多个构造器,这种情况下,要调用那个歌构造器就取决于 new 运算符所用的实际参数。
当一个类只有一个构造器时,那么就只有一种方法来初始化该类对象。如果一个类有多个个构造器时,那么对于类中的美个构造器都可以使用 new 运算符。
Student stu = new Student();
上述代码中紫色的就是构造器的调用。可以调用构造器的唯一时机是对象呗实例化是时。