(java)抽象类中方法有什么用

抽象类既然不能有实例,那么抽象类中除了抽象方法以外的其它方法有什么作用?

抽象类的作用一般是为了其子类规定一些必须的功能和方法, 但是这些方法不能够被抽象类实现. 抽象类中除了抽象方法(也就是其子类必须重写的方法), 还可以定义普通的方法, 尽管这些方法不能被抽象类的实例使用, 但它却可以被其子类 作为公用方法来使用 使用.

举个例子, 定义"多边形"抽象类(类中定义了多边形各点的数组), 除了定义那些抽象方法(及子类的实现各不相同的方法), 还可以定义子类都可以使用的通用方法, 如"多边形面积的计算","周长的计算"等等...这样, 其子类三角形就不用在写上述方法了...

希望对你有帮助
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-06
子类可以使用这个公有方法,当子类的实例调用此方法时,如果在子类中没有覆盖,那么java的动态绑定机制会自动寻找到父类的此方法。
还有就是抽象类别跟接口混了,实现接口的类必须实现接口定义的所有方法。
第2个回答  2010-10-06
抽象方法是让子类自己去定义的行为
非抽象方法是给子类参考的行为,它爱用就用,不爱用就再重写
第3个回答  2010-10-05
可以起到默认功能的实现,这样如果子类的这个函数功能没有变化,就不用重写了呗。
相似回答