A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在Java的类中,为什么有的抽象类没有一个抽象方法却被定义为抽象类

5 个回复

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

评分

参与人数 1黑马币 +1 收起 理由
万合天宜 + 1 很给力!

查看全部评分

回复 使用道具 举报
为了不让其创建对象
回复 使用道具 举报
因为抽象类不能不能创建对象,所以这样做是不允许该类创建对象
回复 使用道具 举报
抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。
回复 使用道具 举报
我通过自学觉得 没有抽象方法的抽象类的意义在于减少代码量;
举个例子MouseAdapter是一个没有抽象方法的抽象类 ,他实现了好几个接口
MouseListener, MouseMotionListener, MouseWheelListener, EventListener
但是这些接口中的所有抽象方法,MouseAdapter实现的方法体都为空,一但我们需要
向某个控件添加监听器,但又不需要实现某个监听器中的所有方法,此时就可以使用继
承MouseAdapter的匿名内部类来实现,想要实现哪个方法就覆盖哪个方法,十分方便
并不需要再去实现该接口中的其他抽象方法

评分

参与人数 1黑马币 +1 收起 理由
万合天宜 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马