- 目的:
数据的初始化是非常重要的,未经初始化的数据很多情况下都不是期望的结果,很多忘记初始化的数据是导致错误的根源。构造函数就是提供了一个初始化的地方,可以把初始化数据的代码写在构造函数里。当然允许你可以不写在构造函数里,可以自定义一个方法再去调用,不过构造函数的方便之处在于只要创建了对象,就会自动地调用构造函数,保证不会忘记调用。这才是使用构造函数的根本目的。如果有一些特殊情况,比如创建对象的时候初始化会带来性能问题,比如连接数据库等耗时的操作,是不必在构造函数内写数据库的初始化代码的。代码都是人写的,认清楚构造函数的意义,需不需要在构造函数里写东西就看具体的实际情况了,因为一般用构造函数都非常省事和减少错误,所以java的语法里支持构造函数的机
2.特点:
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
(5)构造方法可以重载,以参数的个数,类型,顺序。
3.继承
(1)子类只继承父类的默认(缺省)构造函数,即无形参构造函数。如果父类没有默认构造函数,那子类不能从父类继承默认构造函数。
(2)子类从父类处继承来的父类默认构造函数,不能成为子类的默认构造函数。
(3)在创建对象时,先调用父类默认构造函数对对象进行初始化,然后调用子类自身自己定义的构造函数。
(4)如果子类想调用父类的非默认构造函数,则必须使用super来实现。
(5)子类必须调用父类的构造函数。可以通过系统自动调用父类的默认构造函数,如果父类没有默认构造函数时,子类构造函数必须通过super调用父类的构造函数。
时间: 2024-10-06 16:25:28