黑马程序员技术交流社区
标题:
关于抽象类
[打印本页]
作者:
黑马不黑
时间:
2014-1-12 09:10
标题:
关于抽象类
请问抽象类里面为什么可以写构造函数?既然是抽象类,就不能直接new 对象了,还要构造函数干嘛呢?
作者:
伍艳雄
时间:
2014-1-12 09:12
构造函数是给自己子类实例化的.....
作者:
↑↓ME→←
时间:
2014-1-12 09:27
抽象类当然可以有构造函数了,如果它没有的话,那么它的子类要初始化.如何调用父类的构造函数呢
每个类都必须要有构造函数,否则,它如何能被构造出来呢? 有构造函数 但是不能实例化,不能new出对象
作者:
贺利英
时间:
2014-1-12 09:30
因为构造函数的作用不仅仅是为了此类创建对象时用,而且也可以是子类创建对象时对成员的初始化作用,要知道抽象类也是可以被其他的类继承的,而子类的构造函数的第一行都有一句默认的super();即父类的空参数构造函数,如果父类有自己自定义的非空参数的构造函数,那么子类的构造函数的第一行也必须手动的写上相对应的super语句,进行去访问父类,以查看父类是如何进行初始化成员的,这个是必须有的,所以父类中是一定有构造函数的。并且要与接口区分开,接口是没有构造函数的,因为接口不能创建对象,并且接口中的函数都是没有方法体的,所以没有构造函数。
作者:
xu6148152
时间:
2014-1-12 10:03
套用继承的概念。在JAVA当中也就是接口的概念。
继承时,子类实例化时,父类,子类的构造函数都会调用。因此父类的构造函数是必须的。
抽象类的构造函数的作用就在这里。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2