黑马程序员技术交流社区

标题: 抽象类 [打印本页]

作者: 李荣斌    时间: 2013-2-27 11:53
标题: 抽象类
本帖最后由 张文 于 2013-2-28 13:41 编辑

抽象类中可不可以声明构造方法?如果能的话,子类能不能继承?
作者: 夏振博    时间: 2013-2-27 14:21
抽象类:
成员变量:可以是变量,也可以是常量。
成员方法:可以是抽象的,也可以非抽象的。
构造方法:有构造方法,用于子类实例化使用。
作者: xiaoxiang_04    时间: 2013-2-28 00:29
抽象类可以有构造方法,但是构造方法不能抽象!
子类继承父类时,只有调用父类的时候,才会触发父类的构造方法。
作者: wahaha    时间: 2013-2-28 09:29
不能吧..你声明构造说明可以实例化,但是抽象类是不能实例化的
作者: 李荣斌    时间: 2013-2-28 12:21
夏振博 发表于 2013-2-27 14:21
抽象类:
成员变量:可以是变量,也可以是常量。
成员方法:可以是抽象的,也可以非抽象的。

挺详细的!
作者: 李荣斌    时间: 2013-2-28 12:22
xiaoxiang_04 发表于 2013-2-28 00:29
抽象类可以有构造方法,但是构造方法不能抽象!
子类继承父类时,只有调用父类的时候,才会触发父类的构造 ...

说的对!
作者: 李荣斌    时间: 2013-2-28 12:29
夏添 发表于 2013-2-28 09:29
不能吧..你声明构造说明可以实例化,但是抽象类是不能实例化的

综合一楼和二楼的解惑:
1、抽象类中可以声明构造方法;
2、这个构造方法前不能用abstract修饰,用于子类继承,初始化某些属性;
3、抽象类中是可以有可实现的方法的,只要在声明方法时,不加abstract修饰,就相当于普通的方法。
4、对于以上三条,你可以自己声明一个抽象类,再声明一个子类继承它,验证一下。我试过了,没问题。
共同进步!谢谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2