键入传递/更改

时间:2009-10-31 20:42:30

标签: java tree tree-nodes

public abstract class ASTNode3 extends ASTNode {

    ASTNode child1;
    ASTNode child2;
    ASTNode child3;

    public ASTNode3(ASTNode c1, ASTNode c2, ASTNode c3) {
    child1 = c1;
    child2 = c2;
    child3 = c3;
    }

    public ASTNode getChild1() {
    return child1;
    }

    public ASTNode getChild2() {
    return child2;
    }

    public ASTNode getChild3() {
    return child3;
    }
}

public class IRProc extends ASTNode3 {

    public IRProc (String p, Vector v, IRCmdSeq cmds) {
    super(p,v,cmds);
    }

我扩展了ASTNode,如下所示,但是当我尝试传入Vector和String作为参数时,我不断收到错误。如何在不影响节点的情况下传递这些值。我正在考虑创建一个处理类型的中间类,但我不知道如何。

1 个答案:

答案 0 :(得分:2)

在第

super(p,v,cmds);

您尝试使用参数ASTNode3(ASTNode c1, ASTNode c2, ASTNode c3)调用构造函数String p, Vector v, IRCmdSeq cmds。这不匹配。

您必须创建ASTNode的实例才能调用super()。你如何做到这一点取决于你想做什么。也许您应该解释pvcmds实际包含的信息类型。