English 中文(简体)
如何解决这个Java继承练习?
原标题:How can I solve this Java inheritance exercise?

我是个初学者。很抱歉。。

为了解决这个问题,我绞尽脑汁。

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

非常感谢

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

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

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

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

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

我的实现是(我知道这是错误的,但很抱歉我不知道为什么…):

public MyBaseClass {

    protected abstract meth();
    return ();
}

public MyDerivedClass extends MyBaseClass {

 meth();
 return (5);

} 
问题回答

这听起来像是对类可以包含什么以及OOP一般是如何工作的缺乏理解。类中包含的是方法和变量,而不是代码语句。

显然<code>meth()是一个语句,实际上是对一个函数的调用。而您正在寻找的是实现抽象方法:

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

public class MyDerivedClass extends MyBaseClass {
 protected int meth { return 5; }
}

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

但是IMHO,在深入研究继承之前,您应该更加专注于学习OOP基础知识和编程基础知识。。并且永远记住:在完全面向对象的编程语言(如Java)中,语句不能驻留在方法体之外。

您的实现缺乏Java中的基本原则。也许您应该先学习如何在Java中声明一个方法/类。然而,以下是正确的解决方案:

抽象类:

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

子类:

public MyDerivedClass extends MyBaseClass {
    @Override
    protected int meth() {
        return 5;
    }
} 
public abstract class MyBaseClass{

protected abstract int meth();


}

public class MyDerivedClass extends MyBaseClass{

protected int meth(){
return 5;
}

}




相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签