黑马程序员技术交流社区
标题:
抽象类可不可以有构造器啊?
[打印本页]
作者:
张综
时间:
2012-11-11 21:08
标题:
抽象类可不可以有构造器啊?
抽象类可不可以有构造器啊?
作者:
张超
时间:
2012-11-11 21:18
可以
作者:
刘丽娜
时间:
2012-11-11 21:28
可以的啊
抽象类的定义是类中至少有一个方法是抽象的,就这样啊
其他的构造器之类的,或是具体方法的,你都可以写的
作者:
侯光强
时间:
2012-11-11 22:20
刘丽娜 发表于 2012-11-11 21:28
可以的啊
抽象类的定义是类中至少有一个方法是抽象的,就这样啊
其他的构造器之类的,或是具体方法的,你都 ...
抽象类一定要有抽象方法吗?貌似不是呢????
那你看看这个抽象类:
public abstract class Person {
}
它成立么?
作者:
侯光强
时间:
2012-11-11 22:22
应该这样说,有抽象方法的必须是抽象类,而抽象类可以没有抽象方法
作者:
许坤
时间:
2012-11-11 22:33
先说说构造器的规则:
1。如果一个类没有设置字定义构造器,那么编译器会默认一个无参构造器。
2。在子类调用构造器时,总是先调用基类的构造器。
3。如果自定义了构造器,那么默认构造器将不存在。
抽象类是含有抽象方法的类,他可以有自己的成员变量,可以利用构造器在创建子类对象的时候,给子类里的成员变量赋值。只不过是隐藏的构造器。
作者:
深井看海
时间:
2012-11-11 23:55
抽象类是否可以有构造器:
构造器是用来干什么的?与new使用创建实例对象!
抽象类不能创建实例对象,那么它有构造器有没有用?
有用!什么用:子类是不是需要调用父类构造器?需要,那么也就是说抽象类可以有构造器,而构造器是给子类构造器来用的!
作者:
李贺晓
时间:
2012-11-12 10:54
深井似海说的很正确啊,从这点来说很通透啊,构造器是用来进行对象初始化的,就是说你必须有对象,然后才会调用构造器,抽象类不能进行实例化,抽象类要使用,必须由子类覆写所有的抽象方法,建立子类对象调用,此抽象类中的构造器主要就是给子类构造器给使用的
作者:
崔利鹏
时间:
2012-11-12 13:25
可以的,有抽象方法的必须是抽象类,而抽象类当中可以没有抽象方法
作者:
刘菲
时间:
2012-11-12 14:42
1..抽象类中一般都有抽象方法,但也有的抽象类中并没有抽象方法(这样做仅仅是不让该类创建对象)。
2.抽象类是不可以new对象的。在使用时需要子类覆盖其中的方法。
3.抽象类中是可以有构造器的。
子父类中的构造函数:
子类中的所有构造函数,默认都会访问父类中空参数的构造函数,因为子类每一个构造函数的第一行都有一句隐式super();
当父类中没有空参数的构造函数时,子类必须手动通过super语句形式来指定要访问父类中的构造函数。
当然,子类的构造函数第一行也可以手动指定this语句来访问本类中的构造函数,
子类中至少有一个构造函数会访问到父类中的构造函数。
以上是本人的一些理解,希望能够帮到你!
作者:
古典牧童
时间:
2015-4-22 14:19
很有启发
作者:
SylvanaswindMX
时间:
2015-10-21 23:52
不是可以有,是必须有
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2