初始化:
java中使用构造器来确保初始化,构造器采用和类相同的名称,在创建对象的时候调用构造器,为对象分配存储空间。如果自己没有写构造器,编译器会自动加入一个构造器以确保初始化。
构造器没有返回值,和一般的方法不同。
默认构造器(无参构造器):不接受任何参数。
如果在一个类中定义了一个未初始化的引用,java会自动调用构造器将其进行初始化。如果该引用被初始化了,构造器中对该引用重新赋值,则构造器优先。
例如: class A{
String s = ''a'';
A(){
s = "b";
}
}
在输出s的时候输出的是b。
在JAVA中,可以有多个重载的构造器。每个重载的方法都必须有一个独一无二的参数类型列表,区分重载方法包括参数的个数、参数的类型、参数的顺序。通过方法的返回值来区分重载方法是不可行的。
因为可以有多个重载的构造器,所以在构造器中可以使用this关键字来调用其他的构造器,而且编译器禁止在其他方法中调用构造器(只能在构造器中调用)。
例如:
A(int a){
System.out.println(a);
}
A(int a,String s){
this(5);//调用上一个构造器
}