黑马程序员技术交流社区

标题: 在Java的类中,为什么有的抽象类没有一个抽象方法却被定... [打印本页]

作者: 大奔    时间: 2015-2-28 23:37
标题: 在Java的类中,为什么有的抽象类没有一个抽象方法却被定...
在Java的类中,为什么有的抽象类没有一个抽象方法却被定义为抽象类

作者: 奋斗小青年    时间: 2015-3-1 09:48
抽象类是用于扩展的,很多抽象方法是一个封装,即大家都可能会有这样的操作但具体的操作形式是不同的,此时可以将方法定义成抽象方法,有抽象方法的类必须是抽象类。
要注意的是抽象类是不能够实例化的类,所有有些类即使没有抽象方法也定义成抽象类
它的作用就是产生子类的同时给于子类一些特定的属性和方法. 使其扩展性更大。

作者: 艺多不压身丶    时间: 2015-3-1 09:58
为了不让其创建对象
作者: duxubo    时间: 2015-3-1 14:43
因为抽象类不能不能创建对象,所以这样做是不允许该类创建对象
作者: yangruijing    时间: 2015-3-1 21:55
抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。
作者: ko889910    时间: 2015-3-1 22:24
我通过自学觉得 没有抽象方法的抽象类的意义在于减少代码量;
举个例子MouseAdapter是一个没有抽象方法的抽象类 ,他实现了好几个接口
MouseListener, MouseMotionListener, MouseWheelListener, EventListener
但是这些接口中的所有抽象方法,MouseAdapter实现的方法体都为空,一但我们需要
向某个控件添加监听器,但又不需要实现某个监听器中的所有方法,此时就可以使用继
承MouseAdapter的匿名内部类来实现,想要实现哪个方法就覆盖哪个方法,十分方便
并不需要再去实现该接口中的其他抽象方法




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