开发者社区 问答 正文

如果尝试在 SqlVisitor 中添加 visit(SqlNode) 方法会怎样?

如果尝试在 SqlVisitor 中添加 visit(SqlNode) 方法会怎样?

展开
收起
不吃核桃 2024-07-31 13:04:57 63 分享 版权
1 条回答
写回答
取消 提交回答
  • 如果尝试在 SqlVisitor 中添加 visit(SqlNode) 方法,虽然可以通过编译,但会导致所有通过 accept 方法调用的 visit 都会指向这个 visit(SqlNode) 方法,因为 this 在 accept 方法中的编译时类型是 SqlNode。这样,无论 SqlNode 的实际子类是什么,都会执行这个通用的 visit(SqlNode) 方法,无法利用到具体子类的特性,程序的运行结果将不符合预期。

    2024-07-31 14:01:12
    赞同 1 展开评论
问答地址: