我想知道为什么我的子类不能正确继承。
如果我有...
public class ArithmeticOp{
//some constructor
public static void printMessage(){
System.out.println("hello");
}
}
和另一类
public class AddOp extends ArithmeticOp{
//some constructor
ArithmeticOp op = new ArithmeticOp();
op.printMessage(); //returns error
}
我的日食不断返回“令牌“ printMessage”上的语法错误,此令牌后应有标识符”
有人可以帮忙吗?谢谢!还有其他方法可以从父类以及子类中调用方法吗?谢谢一群!
最佳答案
这是因为您不能将任意代码放入类主体中:
public class AddOp extends ArithmeticOp{
ArithmeticOp op = new ArithmeticOp(); // this is OK, it's a field declaration
op.printMessage(); // this is not OK, it's a statement
}
op.printMessage();
必须位于方法内部或初始化程序块内部。除此之外,您的代码感觉不对。为什么要在其自己的子类之一中实例化
ArithmeticOp
?