[英]How to have an object and its subclasses as a parameter of an object
[英]how can you pass an object to a function as a parameter, then have the function to assign a new object of a subtype to its parameter?
我正在嘗試使用遞歸下降解析方法和訪問者模式構建一個編譯器,用於使用 Java 進行語義檢查。 讓我困惑的是使用訪問者模式,我們必須創建不同的子類型。 但是,Java 沒有通過引用傳遞。 這導致我無法為每個語義記錄找到正確的子類型。 這是我要實現的
Node node = new ExprNode();
changeNodeType(node);
public void changeNodeType(Node node) {
node = new AddOpNode();
}
那么最終我的 Node 類型將以 AddOpNode() 結束。 有什么方法可以最終在 Java 中實現嗎?
您可以只返回新節點類型並將其分配到 function 之外。
Node node = new ExprNode();
node = changeNodeType();
public Node changeNodeType() {
return new AddOpNode();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.