求一条编程题

class Node{
Date date;
Date nextDate
}

class ListNode{

}

写findNodeByDate.

这其实是道谜题。
我猜是考多态,递归,集合。

两个类应该是这样的:
[code="java"]
class Node {
public Date date;
public Date nextDate;
}

class ListNode extends Node {
public List nodes;
}[/code]
凭空追加的部分是
1.ListNode是Node的子类。看名字觉得应该这样。
2.ListNode里面应该有Node的集合。也是看名字觉得应该这样。

又:为了方便属性都用public,实际上应该是getter,setter好些。

那么findNodeByDate方法类似
[code="java"]
public Node findNodeByDate(Node node, Date date) {

if (node instanceof ListNode) {//区分多态。
    for (Node n : ((ListNode) node).nod0es) {//轮询集合。
        Node result = findNodeByDate(n, date);//递归。
        if (result != null)
            return result;
    }
}

return date.equals(node.date) ? node : null;

}
[/code]

[color=gray](或许我该转去学文?...)[/color]

具体点什么啊,是数据库吗