黑马程序员技术交流社区

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

作者: fyg408224345    时间: 2015-6-16 17:36
标题: 抽象类问题
今天上课学抽象类。有个问题不太懂,一个类中没有抽象方法,居然定义抽象类,有什么意义?
哪位大神帮忙解释一下。。。。

作者: zlpiano    时间: 2015-6-16 18:00
就是硬性要求你必须继承并覆盖它的方法,不覆盖不让你用,因为它提供的方法可能全部是空的
作者: 守门员    时间: 2015-6-16 18:50
抽象类首先是不允许直接创建该类对象,而且一般情况至少有一个必须让子类继承覆盖的抽象方法;如果没有一个抽象方法都没有,那这个抽象类虽然理论没有问题但没什么意义
作者: fyg408224345    时间: 2015-6-16 19:27
zlpiano 发表于 2015-6-16 18:00
就是硬性要求你必须继承并覆盖它的方法,不覆盖不让你用,因为它提供的方法可能全部是空的 ...

不是,你没看清题。定义的一个抽象类,但这个类中没有抽象方法。这个类有什么意义?有抽象方法的类一定是抽象类,但抽象类不是必须有抽象方法。
作者: fyg408224345    时间: 2015-6-16 19:30
守门员 发表于 2015-6-16 18:50
抽象类首先是不允许直接创建该类对象,而且一般情况至少有一个必须让子类继承覆盖的抽象方法;如果没有一个 ...

我现在有点想明白了,抽象类中一个抽象方法也没有,这个编译不会报错,所以理论没有问题。但它还是定义成了抽象类,我想是为了限制别的类访问吧,你要想访问我的属性和方法,就得继承我。不继承不能用。
作者: guohaichang    时间: 2015-6-16 21:46
只是语法上能通过吧,没什么实际作用。有个参考, Serializable接口,就起到一个标志作用。如果定义了内部类,可以实现对内部类访问的保护,让内部类的实例化方式唯一。
作者: 十五号的人生    时间: 2015-6-16 22:03
学习了      




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