构造函数和构造代码块
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象以建立就会调用与之对应的构造函数
构造函数的作用:可以用于给对象进行初始化。
构造函数的小细节:
当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。
当在类中定义了构造函数以后,默认的构造函数就没有了。
构造函数和一般函数在写法上有所不同。
在运行上也有不同。
构造函数时在对象以建立就运行。给对象初始化。
而一般方法是对象调用才执行,是给对象添加对象具备的功能。
一个对象建立,构造函数只运行一次。
而一般方法可以被该对象调用多次。
什么时候定义构造函数呢?
当分析事物时,该事物存在具备一些特性或行为,那么将这些内容定义在构造函数中。
父类有午餐构造函数,子类就会隐式的继承父类的成员变量,这是除非子类的函数名和父类函数名一致且需要在子类该方法内部调用
父类的同名该方法时需要用到super用来区分调用的函数。其他时候,尤其是子类继承父类的成员变量,都不用super进行说明。
当父类中没有无参构造方法,子类这时候要继承父类的成员变量是,就要显示的用super进行说明。
构造函数调用另一个构造函数时,如果在同一个类中,就要用到this。
构造代码块:作用,该对象初始化。
对象一建立就运行,而且优先于构造函数执行,
和构造函数的区别:
构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化。
构造代码块定义的是不同对象的共性的初始化内容
如果将一个类中所有构造函数私有化,就代表这个类是不能创建对象的,应为对象都不能进行初始化动作。
this关键字:
看上去,是用于区分局部变量和成员变量同名的情况,
this就代表本类的对象,代表他所在函数所属对象的引用。
简单地说:那个对象在调用this所在的函数,this就代表哪个对象
类里面的操作都是有对象所完成的。
this的应用:当定义类中功能室,该函数内部要用到调用该函数的对象时,这是用this来表示这个对象。
但凡本类功能内部使用到了本类对象都用this表示。
this用于构造函数之间互相调用
初始化动作要先执行,初始化中的初始化要先执行