抽象类的构造

抽象类的构造

抽象类构造方法,不写会不会默认一个无参构造
写了无惨构造子类会怎么样
写了有参构造子类会怎么样,麻烦讲一下这个知识点

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

5回答
骑猫的小鱼鱼 2019-03-20 10:50:58

如果你没定义无参构造,那么系统会默认赋给你一个无参构造,但是如果你定义了有参构造,那么那个默认的无参构造就没了,如果不重新定义一个那么你下次不想用有参构造创建实例对象时(不论子类还是自身),那么就会报错,因为无参构造已经消失了,这个时候你就必须自己重新定义一个无参构造来满足要求

巴呆丶 2019-03-10 16:30:17
  1. 一个类中如果没有写构造方法,编译器会默认赋予一个无参构造。

  2. 如果父类只写一个无参构造,在对象的实例化时候不能进行赋值,只能在下面通过对象名.属性进行赋值。子类继承父类,使用super()调用无参构造也不能赋值

  3. 写了带参构造,系统就不会默认给无参构造,需要自己写一个无参构造。子类在继承父类后,同时继承了父类的属性,可以通过super();方法为属性赋值,父类的带参构造有几项参数,就能按顺序赋几个值。

慕尼黑7895541 2019-03-03 15:05:40

实现抽象的前提是继承,都有其特性存在。

提问者 慕先生4377301 2019-02-25 17:28:26

是子类必须调用父类构造吗

  • 是的,即使同学不用super()方法去调用,它也默认是会去自己调用的。它默认调用的是父类的无参构造,所以,父类如果没有无参构造,子类默认去调用时,容易出问题。祝学习愉快
    2019-02-25 17:33:39
好帮手慕阿莹 2019-02-25 17:02:20

1、如果一个构造方法也没有,则会默认给一个。

2、有无参构造后,子类可以通过super()调用父类的无参构造。

3、写了有参构造子类也可以通过super(参数)调用父类的带参构造。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师