黑马程序员技术交流社区

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

作者: 张亮    时间: 2012-3-3 16:49
标题: 抽象类的小问题
本帖最后由 张亮 于 2012-3-3 17:00 编辑

抽象类是一种特殊的类,内部结构有属性,构造方法,方法(实体方法和抽象方法)。抽象方法没有方法体。我的疑问是,抽象类的构造方法是怎样的。也是没有方法体?请高手指点指点。
作者: 泮和顺    时间: 2012-3-3 16:58
构造方法即构造函数 是给类本身初始化属性用的 对于抽象类而言,本身就不能直接拿拉用的 所以构造函数应该也只是缺省参数的多
作者: 王杰    时间: 2012-3-3 17:38
我的理解是:抽象类是不能建立对象的。所以抽象类没有构造方法!
作者: 种法腾    时间: 2012-3-4 13:02
楼上是错误的,抽象类是可以有构造方法的,只不过,抽象类不能实例化,但可以让 具体子类来完成抽象类的具体功能,
作者: 蒙武辉    时间: 2012-3-4 13:26
抽象类可以声明对象,但是不能使用自身的构造方法创建对象,但是可以使用子类的构造方法进行创建。
class GenericDemo
{
        public static void main(String[] args)
        {
                A a=new B(){};
        }
}
abstract class A{}
class B extends A{}
可以编译通过

作者: 王亚男    时间: 2012-3-4 13:38
我认为抽象类是有构造方法的,因为如果你把抽象类的构造方法private的话,编译可以通过,但是子类即使继承了该抽象类,也无法使用多态了。




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