构造⽅法的作⽤和⽤法(对于刚接触的学员)
很多新学员不知道构造⽅法是做什么的,有的稀⾥糊涂,那什么是构造⽅法呢?先来理解⼀下构造⽅法的意思。
构造⽅法是⼀种特殊的⽅法,它是⼀个与类且没有返回值的。对象的创建就是通过构造⽅法来完成,其功能主要是完成对象的初始化。当类实例化⼀个对象时会⾃动调⽤构造⽅法。构造⽅法和其他⽅法⼀样也可以重载。
看到这⾥有很少同学还是不懂,先理解与类且没有返回值的,
那么下来理解对象的创建就是通过构造⽅法来完成:
特殊性
构造⽅法是⼀种特殊的成员⽅法,它的特殊性反映在如下⼏个⽅⾯:
1.构造⽅法作⽤:(1).构造出来⼀个类的实例 (2).对构造出来⼀个类的实例(对象)初始化。
2.构造⽅法的名字必须与定义他的类名完全相同,没有返回类型,甚⾄连void也没有。
3.主要完成对象的初始化⼯作,构造⽅法的调⽤是在创建⼀个对象时使⽤new操作进⾏的。
4.类中必定有构造⽅法,若不写,系统⾃动添加⽆参构造⽅法。接⼝不允许被实例化,所以接⼝中没有构造⽅法。
5.不能被static、final、synchronized、abstract和native修饰。
6.构造⽅法在初始化对象时⾃动执⾏,⼀般不能显式地直接调⽤.当同⼀个类存在多个构造⽅法时,java编译系统会⾃动按照初始化时最后⾯括号的参数个数以及参数类型来⾃动⼀⼀对应。完成构造函数的调⽤。
7.构造⽅法分为两种:⽆参构造⽅法 有参构造⽅法
构造⽅法可以被。没有参数的构造⽅法称为,与⼀般的⽅法⼀样,构造⽅法可以进⾏任何活动,但是经常将他设计为进⾏各种初始化活动,⽐如初始化对象的属性。
8.构造代码块:
(1)作⽤:给对象进⾏初始化,对象⼀建⽴就执⾏,⽽且优先于构造函数执⾏实例化类和实例化对象
(2)构造代码块和构造函数的区别:
构造代码块是给所有不同对象的共性进⾏统⼀初始化,构造函数是给对应的对象进⾏初始化
9.⼦类继承⽗类中,
***⼦类的实例化过程
***构造⽅法不能被⼦类继承
***⼦类创建对象时,会先去创建⽗类的对象。
默认是去调⽤⽗类的⽆参构造⽅法。
***⼦类构造⽅法中,第⼀⾏默认是super()
***为什么⼦类中第⼀⾏会默认有super()
因为他继承⽗类的成员使⽤,使⽤前这些成员必须初始化,
⽽他们是⽗类的成员,所以,必须通过⽗类进⾏初始化。
所以,会先创建⼀个⽗类的对象。
**当⽗类没有⽆参构造⽅法时
必须使⽤this或者super调⽤其他的构造⽅法。
10.⾃定义类中,如果不写构造⽅法,java系统会默认添加⼀个⽆参的构造⽅法。如果写了⼀个有参的构造⽅法,就⼀定要写⽆参构造⽅法。
如果想使⽤⽆参的构造⽅法,就必须⼿动给出⽆参构造⽅法。
建议:⼀般情况下,我们⾃定义的类都要⼿动给出⽆参构造⽅法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论