this和super关键字(2)


父类重载了子类的构造方法,并且父类无空参构造方法,子类继承后,报错原因分析

1.子类会有默认的空参构造方法(默认隐藏),默认构造方法第一行(这是隐藏的)有一个super关键字,spuer(),调用父类的空参构造方法。

2.父类不存在空参构造,所以报错。

3.如果父类有多个构造方法,子类调用一个即可。

4.构造方法不能被继承,所以不能被重写。


package cn.huhui.demo03;

public class Person {
	int a;
  public Person(int a) {
	  this.a=a;
  }
}


package cn.huhui.demo03;
/*
 * 子类方法报错原因:找不到父类的空参构造
 * 父类重载了构造方法
 * 子类中,没有手写构造,编译器默认添加无参的空参构造
 * public Student(){
 * super();
 * }
 *编译成功,必需手动编写的构造方法.
 *注意:子类中的所有构造方法,无论重载多少个,第一行必需是super() 
 *
 *如果有多个构造方法,子类任意调用一个即可
 *构造方法不能继承,当然没有重写
 * */
public class Student extends Person {
  public Student() {
	  super(8);
  }
  public Student(String s) {
	  super(8);
  }
}

package cn.huhui.demo03;

public class Test {

}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值