一、this()在构造方法里是什么this(参数列表)调用本类中其他的构造方法作用一个构造器复用本类另一个构造器的代码减少重复规则必须写在构造方法第一行不能和super()同时出现只能在构造方法中使用普通方法里不能写this()。示例publicclassPerson{Stringname;intage;// 无参构造publicPerson(){this(张三,18);// 调用本类有参构造}// 有参构造publicPerson(Stringname,intage){this.namename;this.ageage;}}二、super()在构造方法里是什么super(参数列表)调用父类的构造方法作用子类初始化时先完成父类对象的初始化规则必须写在构造方法第一行不手动写super()编译器会自动在第一行插入无参super()如果父类只有有参构造子类必须手动写super(实参)和this()互斥不能同时存在。示例classFather{Stringname;publicFather(Stringname){this.namename;}}classSonextendsFather{// 必须手动调用父类有参构造publicSon(){super(老王);// 调用父类构造}}三、核心对比写法含义调用对象this()调用构造器当前类本类其他构造方法super()调用构造器直接父类的构造方法四、重点共同规则两者都只能放在构造方法第一行同一个构造方法中this()和super()不能同时出现都不能在普通成员方法、静态方法中使用。
super()和this()在构造方法中都代表什么?
一、this()在构造方法里是什么this(参数列表)调用本类中其他的构造方法作用一个构造器复用本类另一个构造器的代码减少重复规则必须写在构造方法第一行不能和super()同时出现只能在构造方法中使用普通方法里不能写this()。示例publicclassPerson{Stringname;intage;// 无参构造publicPerson(){this(张三,18);// 调用本类有参构造}// 有参构造publicPerson(Stringname,intage){this.namename;this.ageage;}}二、super()在构造方法里是什么super(参数列表)调用父类的构造方法作用子类初始化时先完成父类对象的初始化规则必须写在构造方法第一行不手动写super()编译器会自动在第一行插入无参super()如果父类只有有参构造子类必须手动写super(实参)和this()互斥不能同时存在。示例classFather{Stringname;publicFather(Stringname){this.namename;}}classSonextendsFather{// 必须手动调用父类有参构造publicSon(){super(老王);// 调用父类构造}}三、核心对比写法含义调用对象this()调用构造器当前类本类其他构造方法super()调用构造器直接父类的构造方法四、重点共同规则两者都只能放在构造方法第一行同一个构造方法中this()和super()不能同时出现都不能在普通成员方法、静态方法中使用。