[英]Unable to identify a particular reference in a Java program
public CompactSuffixTree(SimpleSuffixTree simpleSuffixTree)
{
super(simpleSuffixTree.text);
super.root = compactNodes(simpleSuffixTree.root, 0);
}
上面的代码是后缀树的Java实现的一部分。
在这里, CompactSuffixTree
扩展了AbstractSuffixTree
类,该类具有属性“文本”。
simpleSuffixTree
类还扩展了AbstractSuffixTree
类。
“根”是Node
类类型的AbstractSuffixTree
类中的一个属性。
谁能解释一下代码“ super(simpleSuffixTree.text);”的含义。 在这种情况下意味着什么?
注意: simpleSuffixTree
类中不存在属性“ text”,这是我的主要困惑点simpleSuffixTree
super(simpleSuffixTree.text);
是对超类AbstractSuffixTree
的构造函数的调用。 simpleSuffixTree.text
被传递给超类的构造函数,它可能用于初始化AbstractSuffixTree
的“ text”属性。
这意味着父构造函数被调用。 在这种情况下,它将导致对AbstractSuffixTree( String text )
函数的调用。
子类构造函数 -调用超类的构造函数的super
关键字,这是CompactSuffixTree
(子类)构造函数,该构造函数调用超类AbstractSuffixTree
构造函数,然后在AbstractSuffixTree
类中初始化根属性。
此关键字 -您可以使用此关键字从实例方法或构造函数中引用当前对象的任何成员。 或者您可以使用此关键字引用超类公共或受保护成员,我建议您使用此关键字而不是super.root
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.