繁体   English   中英

我的toString()方法没有覆盖Calendar toString()方法

[英]My toString() method isn't overriding the Calendar toString() method

这是我的代码,非常简单。 它不是家庭作业,我通过教育书自学java:


import java.util.*;

/** @author Chris */

public class Exercise9_9 extends GregorianCalendar
{   
    public static void main(String[] args)
    {
        String[] stringList = {"s", "c", "b", "f", "e", "q", "g", "w", "i", "o"};
        Integer[] integerList = {5, 7, 8, 9, 6, 5, 4, 1, 2, 3};
        Calendar[] calendarList = new Calendar[10];

        for (int a = 0; a < calendarList.length; a++)
        {
            calendarList[a] = new GregorianCalendar();
            calendarList[a].set(Calendar.YEAR, ((int)Math.random()* 1000));
        }

        System.out.println("Largest String: " + max(stringList));
        System.out.println("Largest int: " + max(integerList));
        **System.out.println("Largeset date: " + (max(calendarList)).toString());**
    }

    public static Object max(Object[] a)
    {
        Arrays.sort(a);
        return a[a.length-1];
    }

    **@Override
    public String toString()**
    {
        return "Test";
    }  
}

问题是产生三个数组:int,String和Calendar类型。 然后挑选出每个类别中最大的一个(并显示答案)。

这个类扩展了GregorianCalendar类,这意味着我可以访问我试图覆盖的Calendars toString() 但它不起作用。 它就像toString()方法没有重写,因为我得到了默认的toString()输出。 但是,我正在使用Netbeans并且它确认覆盖,甚至在我单击覆盖链接时将我带到Calendar.toString() 所以我被困住了,任何帮助都会受到赞赏。

这是因为你没有使用你的班级,而是GregorianCalendar
calendarList[a] = new GregorianCalendar();

将此更改为
calendarList[a] = new Exercise9_9 ();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM