Java 在toString()中使用继承/扩展的具体类名

Java 在toString()中使用继承/扩展的具体类名,java,class,oop,tostring,Java,Class,Oop,Tostring,大家好,现在,我的toString()如下所示: public String toString () { return ("A " + size + "cm " + weight + "kg Fish" ); } 打印出这样的东西:“一条16厘米0.2公斤的鱼” 我正在寻找它打印出这样的东西:“一条16厘米0.2公斤的鲈鱼”,其中鲈鱼从一个非濒危鱼类类继承了它的属性,而这个类继承了一个鱼类类的属性。to字符串当前位于Fish类中。这是Fish类: publi

大家好,现在,我的toString()如下所示:

public String toString () 
    {
        return ("A " + size + "cm " + weight +  "kg Fish" );
    }
打印出这样的东西:“一条16厘米0.2公斤的鱼”

我正在寻找它打印出这样的东西:“一条16厘米0.2公斤的鲈鱼”,其中鲈鱼从一个
非濒危鱼类
类继承了它的属性,而这个类继承了一个
鱼类
类的属性。to字符串当前位于
Fish
类中。这是
Fish
类:

public abstract class Fish 
{
    // Any fish below this size must be thrown back into the lake
    public static int  THROW_BACK_SIZE = 18; 
    public static float WEIGHT_LIMIT = 10;

    protected float weight;
    protected int  size;


    public Fish(int aSize, float aWeight) 
    {
        size = aSize;
        weight = aWeight;
    }


    public boolean isDesirableTo(Fisher f) 
    {
        if(canKeep() && f.numFishCaught < f.LIMIT && this.weight + f.sumOfWeight < WEIGHT_LIMIT)
        {
          return true;
        }
        else
        {
        return false;
        }
    }

    public abstract boolean canKeep(); 

    public int getSize() { return size; }
    public float getWeight() { return weight; }

    public String toString () 
    {
        return ("A " + size + "cm " + weight +  "kg" );
    }
感谢您的帮助,谢谢

这样做:

public String toString () 
{
    return ("A " + size + "cm " + weight +  " " + this.getClass().getSimpleName() );
}
这样做:

public String toString () 
{
    return ("A " + size + "cm " + weight +  " " + this.getClass().getSimpleName() );
}
这样做:

public String toString () 
{
    return ("A " + size + "cm " + weight +  " " + this.getClass().getSimpleName() );
}
这样做:

public String toString () 
{
    return ("A " + size + "cm " + weight +  " " + this.getClass().getSimpleName() );
}

我怀疑他们应该在每个具体类中覆盖
toString()
(我不是说这样更好):


我怀疑他们应该在每个具体类中覆盖
toString()
(我不是说这样更好):


我怀疑他们应该在每个具体类中覆盖
toString()
(我不是说这样更好):


我怀疑他们应该在每个具体类中覆盖
toString()
(我不是说这样更好):


我会将getSimpleName()方法放在濒危和非濒危的子类中吗?不,仅在
Fish
中,这是继承的伟大之处(我的意思是,这里不是讽刺),我会将getSimpleName()方法放在濒危和非濒危的子类中吗?不,仅在
Fish
中,这是关于继承的伟大之处(这里不是讽刺,我的意思是)我会将getSimpleName()方法放在濒危和非濒危的子类中吗?不,仅在
Fish
中,这是关于继承的伟大之处(这里不是讽刺,我的意思是)我会放getSimpleName()吗在濒危和非濒危子类中的方法?不,仅在
Fish
中,这是关于继承的伟大之处(这里不是讽刺,我的意思)