Java抽象类中定义了抽象方法还可以定义一般方法吗?
发布网友
发布时间:2022-04-20 02:01
我来回答
共4个回答
热心网友
时间:2023-07-09 10:55
抽象类的作用一般是为了其子类规定一些必须的功能和方法,
但是这些方法不能够被抽象类实现.
抽象类中除了抽象方法(也就是其子类必须重写的方法),
还可以定义普通的方法,
尽管这些方法不能被抽象类的实例使用,
但它却可以被其子类
作为公用方法来使用
使用.
举个例子,
定义"多边形"抽象类(类中定义了多边形各点的数组),
除了定义那些抽象方法(及子类的实现各不相同的方法),
还可以定义子类都可以使用的通用方法,
如"多边形面积的计算","周长的计算"等等...这样,
其子类三角形就不用在写上述方法了...
希望对你有帮助
热心网友
时间:2023-07-09 10:55
子类可以使用这个公有方法,当子类的实例调用此方法时,如果在子类中没有覆盖,那么java的动态绑定机制会自动寻找到父类的此方法。
还有就是抽象类别跟接口混了,实现接口的类必须实现接口定义的所有方法。
热心网友
时间:2023-07-09 10:56
可以起到默认功能的实现,这样如果子类的这个函数功能没有变化,就不用重写了呗。
热心网友
时间:2023-07-09 10:56
抽象类,我理解是某些特性抽出的类别,但自身不可以被实例化为一个具体的对象。
具体应用场景,比如一堆子类有些共同的特性抽象出一个抽象类a
而这些特性中有一些是属于对象b的,
那么a自然就可以继承b