我该如何解决这个Java继承练习?

QJ7*_*746 1 java oop inheritance

我是初学者.对不起..

为了解决这个问题,我正在绞尽脑汁.

任何帮助将受到高度赞赏.

非常感谢你

.................................................. .........................

在Java中定义两个类,称为MyBaseClass和MyDerivedClass.

前一类声明了一个名为meth()的受保护和抽象方法,该方法具有非参数并返回一个整数值.

后一类扩展了第一个类,并通过返回值5来实现继承的方法.

.................................................. .....

我的实施是(我知道这是错的,但对不起,我不知道为什么......):

public MyBaseClass {

    protected abstract meth();
    return ();
}

public MyDerivedClass extends MyBaseClass {

 meth();
 return (5);

} 
Run Code Online (Sandbox Code Playgroud)

Jac*_*ack 5

这听起来很缺乏对类可以包含的内容以及OOP如何工作的理解.你在类中拥有的是方法和变量,而不是代码语句.

显然meth();是一个声明,确实是对函数的调用.您正在寻找的是实现抽象方法:

public abstract class MyBaseClass {
 protected abstract int meth();
}

public class MyDerivedClass extends MyBaseClass {
 protected int meth { return 5; }
}
Run Code Online (Sandbox Code Playgroud)

看:每个类都包含{ }一个主体,该主体包含由签名(例如protected int meth())和正文(除非abstract)定义的方法列表.也允许变量.

但是在进入继承之前,你应该更多地集中精力学习OOP基础知识和编程基础知识.并且永远记住:在完全面向对象的编程语言(如Java)中,语句不能驻留在方法体外.