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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

最近学习中看到这个,说至少有一个抽象方法的类是抽象类,但是又说抽象类可以没有抽象方法。求答案。

16 个回复

倒序浏览
谁说的?抽象类必须要有抽象方法,除非是你继承了一个抽象类,而在本类中没有实现父类抽象方法,虽然表面看起来没有抽象方法,但是本质上是必须有的,只不过在父类里。这种说法就像文字游戏一样,没有实质性的意义。
回复 使用道具 举报
如果一个类中有抽象方法了,那么它一定是抽象类;继承它的子类如果没有实现它的全部抽象方法,子类也是抽象类;但是抽象类中也可以没有抽象方法,只是当定义为抽象类了之后该类就不能够被实例化了。
回复 使用道具 举报
抽象类可以没有抽象方法,这是语法上允许你这样做。至于这样做有无意义,取决于程序员
回复 使用道具 举报
抽象了可以没有抽象方法,这样做的目的是不被创建对象
有抽象方法的类一定是抽象类,抽象类不一定有抽象方法

回复 使用道具 举报
yuZhe_toString 发表于 2014-6-30 18:14
谁说的?抽象类必须要有抽象方法,除非是你继承了一个抽象类,而在本类中没有实现父类抽象方法,虽然表面看 ...


貌似子类继承抽象类是必须实现其父类所有抽象类方法的。
回复 使用道具 举报
同求!!!
回复 使用道具 举报
我总结了下抽象类:
抽象类里面必须有抽象方法,可以有非抽象方法(原因不知道,找不到“一定没有”的理由)。
抽象类不能创建对象,以为调用抽象方法没意义。
抽象类一定是父类,是不断抽取来的。
而且抽象类有构造函数,给子类初始化的。
子类如果想创建实例就必须复写抽象类里的抽象方法,否则还是抽象类。
abstract不能跟private final static 关键字共存,原因很简单。
回复 使用道具 举报
抽象类和接口的区别里面有一条:
      抽象类为部分方法提供实现,避免子类重复实现这些方法,接口只能包含抽象方法(只能)。
回复 使用道具 举报
貌似有了抽象方法的类就是父母包办,没有抽象方法的类是自由恋爱。
回复 使用道具 举报
星宇 发表于 2014-7-1 10:51
貌似子类继承抽象类是必须实现其父类所有抽象类方法的。

。。。抽象类继承抽象类需要实现父类抽象方法吗?
回复 使用道具 举报
有一个哥们的理解很到位,学习了
回复 使用道具 举报
1 如果类中定义了抽象方法那么这个类一定是抽象类,这是   “至少有一个抽象方法的类是抽象类”  的另一种好理解的表示。类中可以定义多个抽象方法,但是如果定义了,哪怕只有一个抽象方法,那么就是抽象类。

2 抽象类中是可以没有抽象方法的。
第一 抽象类不能直接new 对象,有一些应用中,就是为了防止 直接 创建 这种类的对象。jdk 中就有此类应用。

回复 使用道具 举报
路过,学习了
回复 使用道具 举报
yuZhe_toString 发表于 2014-7-2 12:17
。。。抽象类继承抽象类需要实现父类抽象方法吗?

如果你要使用父类中的抽象方法,那你必须要实现
回复 使用道具 举报
学习学习
回复 使用道具 举报
张盼 发表于 2014-6-30 20:40
抽象了可以没有抽象方法,这样做的目的是不被创建对象
有抽象方法的类一定是抽象类,抽象类不一定有抽象方 ...

总结得很到位
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马