gpt4 book ai didi

java - 如何使一个java类只能用于包中的另一个类

转载 作者:行者123 更新时间:2023-12-01 22:39:37 26 4
gpt4 key购买 nike

我有 3 个类(class):BST、术语和网页。

BST 是一个二叉搜索树,每个节点都有术语。

WebPages 实例化 BST。

如何确保 BST 类可用于 WebPages 类? (这是项目的要求)

它们应该位于同一个包中,因此对我来说唯一有意义的是网页内的嵌套类。是否有其他方法来限制对整个类的访问,以便同一包中只有一个其他类可以“看到”它?

最佳答案

正如其他答案中所述,将 BST 隐藏到 WebPages 的合法方法是将其定义为静态内部类:

public class WebPages {

private static class BST {

}
}

如果您对在独立包中定义 WebPages 感到满意,则可以将这两个类放在同一个包中,但省略 public 类修饰符BST 。您甚至可以在同一个文件 WebPages.java 中定义这两个类,其结构如下:

public class WebPages {

}
class BST {

}

包级隐藏的缺点是,可以在同一个包中编写新类并获得对 BST 的访问权限。

关于java - 如何使一个java类只能用于包中的另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26395260/

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