繁体   English   中英

无法识别Java程序中的特定引用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM