当前位置: 代码迷 >> J2SE >> 关于java中抽象类跟抽象方法
  详细解决方案

关于java中抽象类跟抽象方法

热度:144   发布时间:2016-04-23 19:40:35.0
关于java中抽象类和抽象方法
诸位前辈,今天在看java时,学习到了抽象类这个概念,如果在父类方法中定义一个抽象的方法,子类继承的时候还需要复写这个方法,而且必须将父类的所有抽象方法都复写完毕,但是我突然意识到,为什么一定要定义抽象方法呢,我在子类中重新写一个方法不就可以了,这个仅仅是为了用父类来约束定义子类中必须存在某个方法吗?
------解决思路----------------------
你说的没错。假如我们有一个 Shape 类,它有很多子类,不管对象是哪个子类,我们都用 getArea 方法来计算面积,这就要求所有子类都必须实现该方法。为了避免有的程序员会忘记实现这个方法,就要强制该方法必须实现,否则连编译都通不过,这事不能靠程序员自觉去实现。
------解决思路----------------------
可能一开始意识不到定义父类的优点,等需要创建好多子类,而这些子类又都有一些相同的属性和方法的时候,就能体会到父类的优点了,这也体现了代码重用的一个原则
------解决思路----------------------
面向对象的核心就是多态,一切的封装, 继承,一切的一切都是为多态服务, 理解了多态,你自然就会明白为啥要抽象。
------解决思路----------------------
java中的抽象类和接口差不多,都是定义一种规范,由子类去完成实际的操作。不同的子类表现出不同的特性。另外抽象类和接口可以定义命名的规范,其实就是规范化代码结构。使代码看起来更清晰,有层次
------解决思路----------------------
抽象类和接口  其子类或者说是实现类  必须重写定义的抽象方法

它们就像是一种标准,你要用它,必须遵循它的规则!

反过来想,如果不需要我们强制实现的话,  

这个规则我们可以不遵循,那它就真的是没有存在的意义了!