java - 我该如何解决这个 Java 继承问题?

标签 java oop inheritance

我是初学者。对不起..

为了解决这个练习,我正在绞尽脑汁。

我们将不胜感激任何帮助。

非常感谢

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

在 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/

相关文章:

java - 确保 MBean 操作的安全

java - Hibernate Criteria API - 如何获取对象属性列表

Javascript ES6 类属性赋值

eclipse上的java继承

java - 从一个jsp获取值到另一个jsp

java - Hibernate 查询以 SQL 语法错误结束

php - 开发 Codeigniter 游戏

java - 将 ArrayList 转换为 varargs 构造函数的单独参数

Java - 非泛型类扩展泛型类

c++ - 公共(public)/ protected /私有(private)继承的问题