关于抽象类的问题,请指教```谢谢````

zhangyuwei_ 2005-12-24 11:13:14
小弟是初学者,对抽象类有些不理解。
子类必须实现抽象超类中的抽象方法,那么为什么不在子类中直接按特性不同自己写这个方法呢?非要把这方法抽象出来,放在超类中做成抽象类吗?我明白抽象方法是子类共同的特性,但要根据需要做不同的实现,反正都要实现,那在子类里自己根据需要实现自己的方法不就可以了吗?抽象超类仅仅是为了面向对象的意义才要被抽象的吗?还是这个类在抽象方法被实现之前,不想被实例化呢?

想来想去也想不明白,希望大大们指教啊,谢谢```
...全文
116 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bizhenchao1201 2005-12-28
  • 打赏
  • 举报
回复
上面人我觉得说得很全了,一句话,为了实现多态
msk316647129 2005-12-25
  • 打赏
  • 举报
回复
超类中的抽象方法是为了让其他的子类应用起来更方便,可以剩去很多的重复对象
王洲 2005-12-24
  • 打赏
  • 举报
回复
这个问题说复杂也不复杂,但是要想讲得你很明白就很有难度了

推荐你看看关于设计模式之类的书

看看开闭原则慢慢的就能理解

zhangyuwei_ 2005-12-24
  • 打赏
  • 举报
回复
两位的意思是 虽然在子类自己写方法也可以实现,但这是OOP编程的一种思想,对吗?
就象面向过程与面向对象之间的区别那样? 要真是这样,那我好象明白了点拉
555555555 继续请大大们指教
jonescn 2005-12-24
  • 打赏
  • 举报
回复
或许你对OOP编程的思想还没转变过来吧?我以前也会这样想.......
jonescn 2005-12-24
  • 打赏
  • 举报
回复
我也是初学者,但是还是要建议你多看看书,最好看一下<<JAVA编程思想>>,里面讲过多态和继承的思想。
希望大家能互相交流,共同提高。
zhangyuwei_ 2005-12-24
  • 打赏
  • 举报
回复
up
稽姬 2005-12-24
  • 打赏
  • 举报
回复
java的多态,继承,封装简单的说都是为了简化编程用的。
superslash 2005-12-24
  • 打赏
  • 举报
回复
写抽象类最主要的目的是为了多态,而这也是面向对象编程的一个特征。
你所说的抽象方法被实现之前,不想被实例化并不是真的,要想不被实例化就将它的构造函数定义为private,楼主多看看effective java吧,写的很详细

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧