我是初学者。对不起..
为了解决这个练习,我正在绞尽脑汁。
我们将不胜感激任何帮助。
非常感谢
................................................ .....................................
在 Java 中定义两个类,称为 MyBaseClass 和 MyDerivedClass。
前一个类声明了一个名为 meth() 的 protected 抽象方法,它没有参数并返回一个整数值。
后一个类扩展第一个类并通过返回值 5 实现继承的方法。
................................................ …………
我的实现是(我知道这是错误的但抱歉我不知道为什么..):
public MyBaseClass {
protected abstract meth();
return ();
}
public MyDerivedClass extends MyBaseClass {
meth();
return (5);
}
最佳答案
这听起来像是对一个类可以包含什么以及 OOP 的一般工作方式缺乏理解。您在类中拥有的是方法和变量,而不是代码语句。
显然 meth();
是一个语句,实际上是对函数的调用。虽然您正在寻找的是实现抽象方法:
public abstract class MyBaseClass {
protected abstract int meth();
}
public class MyDerivedClass extends MyBaseClass {
protected int meth { return 5; }
}
看:每个类都包含一个 { }
主体,其中包含由签名定义的方法列表(例如,protected int meth()
)和一个正文(除非 abstract
)。变量也是允许的。
但是恕我直言,在深入研究继承之前,您应该更加专注于学习 OOP 基础知识和编程基础知识。并始终记住:在完全面向对象的编程语言(如 Java)中,语句不能位于方法体之外。
关于java - 我该如何解决这个 Java 继承问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5001845/