必须实现继承的抽象方法

来源:百度知道 编辑:UC知道 时间:2024/09/28 11:14:49
package com.calc;

import com.calc.Abcalc;
import com.calc.ICalculator;

public class Plus extends Abcalc implements ICalculator {

public int calculate(String expression) {
// TODO 自动生成方法存根
int array[] = split(expression,"\\+");
return array[0]+array[1];
}
}

package com.calc;

public interface ICalculator {
public int calculate(String expression);
}

package com.calc;

public abstract class Abcalc {
public int[] split(String expression, String deli){
String array[] = expression.split(deli);
int[] brray = new int[2];
brray[0] = Integer.parseInt(array[0]);
brray[1] = Integer.parseInt(array[1]);
return brray;
}
}

Plus那说什么必须实现继承的抽象方法……不懂
问题是我已经使用了呀

包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。注意,抽象类和普通类的主要有三点区别:
  1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
  2)抽象类不能用来创建对象;
  3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。

不实现抽象方法就必须是抽象类

你所有的抽象方法都覆写了吗

在Plus类里面没有复写split这个方法 (为什么Abcalc要用Abstract声明呢?)