网站建设报价单模板,wordpress技术站主题,上海有什么公司,短视频动画制作继承中#xff0c;构造方法的访问特点
父类的构造方法不会被子类继承#xff0c;但可以通过super()调用父类的构造方法#xff0c;且只能在子类调用#xff0c;在测试类中是不能手动单写构造方法的。子类中所有的构造方法默认先调用父类的无参构造#xff0c;再执行自己构…继承中构造方法的访问特点
父类的构造方法不会被子类继承但可以通过super()调用父类的构造方法且只能在子类调用在测试类中是不能手动单写构造方法的。子类中所有的构造方法默认先调用父类的无参构造再执行自己构造方法的其他代码
为什么会先默认调用父类的无参构造
子类在初始化的时候有可能会使用到父类中的数据如果此时父类中的数据没有完成初始化只是单单定义了子类就无法使用该父类的数据所以子类初始化之前一定要调用父类构造方法完成父类数据空间的初始化
怎么调用父类构造方法的
子类构造方法的第一行语句默认都是super()不写虚拟机也会自动加上且在有效代码第一行写了虚拟机就不加了但必须在有效代码第一行注释不算如果想调用父类有参构造必须手动书写带参数的super()进行调用
this的使用总结
this理解为一个局部变量表示当前方法调用者的地址值且仅在该方法内有效类的成员方法构造方法内部都隐含了this变量作为形参存在当该方法被调用时虚拟机就会把调用者的地址值赋给this类的方法内不与局部变量重名的成员变量变量名前也隐含了this记住this只是在类的方法成员方法构造方法内的一个局部变量。相反this不是在创建对象时被包含在对象里的。
super的使用总结
代表父类的存储空间
this和super的使用方式
若类的成员变量与局部变量不重名那么前面的this可以省略不写在类里调用本类的成员方法时前面的this也可以省略不写this() a. 仅在构造方法中用来调用本类的其他构造方法 b. 一旦写完this()虚拟机便不会添加super()了因为其他构造的第一行已经写过super()了 c. this()必须写在有效代码的第一行如super()