A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ccyznhy 中级黑马   /  2013-6-24 23:36  /  2222 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙百鑫 于 2013-6-27 07:29 编辑

子类会默认调用父类无参构造函数,若抽象类中定义了有参的构造函数,那子类应该怎么调用呢?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

5 个回复

倒序浏览
若果在抽象父类中,显示的写了有参数的构造函数,在子类继承是就必须写一个构造函数来调用父类的构造函数。调用方法如下:
  1. abstract class Father {   //定义一个抽象类,必须被继承
  2.   
  3.     Fanther(int i) {
  4.       
  5.    }
  6. }

  7. public class Student extends Person {
  8.    
  9.     Student() {
  10.       super(int i)://必须显示的调用父类构造方法 //super代表父类对象
  11.     }
  12. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
上面代码有误,应该是这样:
  1. abstract class Father{   //定义一个抽象类,必须被继承
  2.   
  3.     Father(int i) {
  4.       
  5.    }
  6. }

  7. public class Student extends Father {
  8.    
  9.     Student() {
  10.      super(int i)://必须显示的调用父类构造方法//super代表父类对象
  11.   }
  12. }
复制代码
回复 使用道具 举报
楼主加油
回复 使用道具 举报
抽象类构造函数我觉得作用是给抽象类成员初始化的,还有就是给子类调用。子类要调用有参数的构造函数必须显示的调用,子类创建对象时也必须添加参数。
回复 使用道具 举报
楼主您好。我已将您的帖子改成已解决。如果帖子发布长时间没加分。及时联系我。以免漏分的情况发生{:soso_e100:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马