一、关于JAVA构造方法
1、构造函数是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,可重载多个不同的构造函数。在JAVA语言中,构造函数与C++语言中的构造函数相同,JAVA语言中普遍称之为构造方法。
2、特点: 构造方法 是一种特殊的方法,具有以下特点。(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类 型,也不能被static、final、synchronized、abstract和native修饰。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
如在定义类Test时没有定义构造方法,还是可以在创建对象时Test test = new Test(),因为编译系统默认为你创建了空的无参的构造函数Test();
当有多个构造函数时,
系统会根据产生对象时,
所带参数的不同而选择调用不
同的构造函数。
当有多多个构造函数时,系统会根据new对象时,所带的参数不同调用不同的构造函数!!
(5)构造方法可以重载,以参数的个数,类型,顺序。但不可以被子类继承。
(6)构造函数在创建对象时自动执行,不需显示直接调用
3、java 构造函数的执行过程顺序(注意与其他编程语言的区别哦)附录一
(1)初始化对象的存储空间为零或null值;
(2)调用父类构造函数;
(3)按顺序分别调用类成员变量和实例成员变量的初始化表达式;
与其他语言的不同点:
JAVA创建完其他类对象,并执行完它们的构造函数完了之后,最后才执行自己的构造函数如下。附录一
附录一
class Dollar {
Money m = new Money();
Rmb r = new Rmb();
public Dollar() {
System.out.println("Dollar is construct!");
}
public static void main(String[] args) {
new Dollar();
}
}
class Money {
public Money() {
System.out.println("Money is construct!");
}
}
class Rmb {
public Rmb() {
System.out.println("RMB is construct!");
}
}
输出结果:
Money is construct
RMB is construct
Dollar is construct!