Java:如何创建从继承类获取对象的 getter 方法?

标签 java class inheritance getter getter-setter

我正在尝试在类 Catalog 中形成对象 Mammal 的 getter 方法。 get方法没有参数,返回类型为Mammal(?)

public class Mammal extends Animal {
    private double intellect;
    private double hitpoints;

    public Mammal(String firstName, String lastName, String nickname) {
        super(firstName, lastName, nickname);
    }

    public void setIntellect(double intellect) {
        this.intellect = intellect;
    }

    public void setHitpoints(double hitpoints) {
        this.hitpoints = hitpoints;
    }
    public double getIntellect() {
        return intellect;
    }
    public double getHitpoints() {
        return hitpoints;
    }

我知道这是一个非常简单的问题,您不必看到它,只需提供上下文即可。我编写了几个像Mammal这样的类,比如Feline、Birds等,并且是作业的最后一部分,Catalog,一系列的get方法。我只需要 getMammal、getBirds、getFeline,返回类型要么是 Mammal,要么是 Birds[] 等。所以是对象本身或对象数组。我的尝试:

public class Catalogue{
    private Mammal mam;

    public getMammal() {
       Mammal mam = new Mammal();
       return mam;
    }
}

所以我显然不明白这一步要做什么。任何帮助,将不胜感激!我得到的编译错误是“无效的方法声明;需要返回类型”。我尝试了几种不同的方法,但似乎无法克服这个错误。

最佳答案

我认为你需要的是这样的:

public class Catalogue 
{
    private Mammal mammal;
    private Bird[] birds;
    public Catalogue(Mammal mammal, Bird[] birds)
    {
       this.mammal = mammal;
       this.birds = birds;
    }
    public Mammal getMammal()
    {
     return mammal;
    }
    public Bird[] getBirds()
    {
      return birds;
    }
}

这将创建一个包含实例变量 mammalsbirdsCatalogue,并允许您获取这些值。 然后构建一个目录,您可以调用:

Catalogue c = new Catalogue(mammal, birds);

其中 mammalMammal 的实例,birdsBird[] 的实例。

关于Java:如何创建从继承类获取对象的 getter 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28651524/

相关文章:

java - 关于抽象类和继承的问题

java - 如何将 jasper 报表查看器添加到滚动面板?

C++ RTTI 继承导致类大小增加

entity-framework - Entity Framework 继承代码优先

php - 如何包含/要求 `use` 运算符语句?

class - Swift 中的静态函数和类函数有什么区别?

c++ - 在 STL 容器中使用模板类

java - 在 Java/scala 中将日期时间转换为纪元时间损失一小时

Java启动while循环而不暂停当前线程

java - java中连接openshift的运行时间