gpt4 book ai didi

Java接口(interface),调用其实现

转载 作者:行者123 更新时间:2023-12-01 09:16:44 25 4
gpt4 key购买 nike

我必须编写一个学校项目,为此,他们为我们提供了一些接口(interface)来帮助我们设计类实现。

INode

就是其中之一:

public interface INode {

void buildString(StringBuilder builder, int tabs);
}

我们必须多次实现此接口(interface)。

BlockNode

就是其中之一:

public class BlockNode implements INode {

@Override
public void buildString(StringBuilder builder, int tabs) {
}
}

现在我的问题是他们在主函数中这样做(解析的类型是 INode):

root = parser.parse();
builder = new StringBuilder();
builder.append("PARSE TREE:\n");
root.buildString(builder, 0);

我不明白哪个实现

buildString(StringBuilder builder, int tabs)

被调用。它可能是我上面写的那个(BlockNode)?或我实现的任何其他?我不明白首先调用哪个..

最佳答案

-这将从 BlockNode

调用方法
INode root = parser.parse(); // Let's assume it return new BlockNode();
builder = new StringBuilder();
builder.append("PARSE TREE:\n");
root.buildString(builder, 0);

-这将调用 SomeNode

中的方法
INode root = parser.parse(); // Let's assume it return new SomeNode(); 
builder = new StringBuilder();
builder.append("PARSE TREE:\n");
root.buildString(builder, 0);

关于Java接口(interface),调用其实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40499389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com