Java 无法识别同一包中的代码

Java 无法识别同一包中的代码,java,netbeans,package,Java,Netbeans,Package,我将NetBeans 6.9.1与JavaSE一起使用 我正在做一个名为“自动更正”的项目,它包含两个文件夹中的代码:src和tests。为了访问私有字段和方法,我尝试将测试文件与源文件放在同一个包中: edu.brown.cs32.dtadams.<package> 我被告知,即使TrieTest与它所在的包的其余部分位于不同的根文件夹中,NetBeans也应该将它识别为位于同一根文件夹中。但是,TrieTest似乎无法识别自己包中的任何文件。当我加上 "import edu.

我将NetBeans 6.9.1与JavaSE一起使用

我正在做一个名为“自动更正”的项目,它包含两个文件夹中的代码:src和tests。为了访问私有字段和方法,我尝试将测试文件与源文件放在同一个包中:

edu.brown.cs32.dtadams.<package> 
我被告知,即使TrieTest与它所在的包的其余部分位于不同的根文件夹中,NetBeans也应该将它识别为位于同一根文件夹中。但是,TrieTest似乎无法识别自己包中的任何文件。当我加上

"import edu.brown.cs32.dtadams.SQTrie" 
对于导入,我返回了以下两个错误:

- cannot find symbol: ...[info]... 

- Import From The Same Package 
因此TrieTest识别出它位于与SQTrie同名的包中,但NetBeans并不等同于这两个包


有人知道是什么导致了这个问题吗?或者关于NetBeans如何跨多个文件夹处理包的更多信息?

要限制对同一个包的方法访问,请使用 ,这意味着在方法前面不放任何内容(没有私有/公共/受保护)。Private强大得多,并且限制了类本身的使用。
此访问修饰符还经常用于单元测试,以避免过度暴露已测试的方法。

“为了访问私有字段和方法”,只能在同一类中访问私有字段和方法。你是说“受保护”吗?顺便说一句,没有图片。你在示例中使用了两个不同的包(
edu.brown.cs32.dtadams
edu.brown.cs32.dtadams.trie
)。此外,您似乎提出了至少两个不同的问题。您是否在询问如何在同一个包中的类之间访问私有变量?或者你在问为什么你的进口无法解决?
- cannot find symbol: ...[info]... 

- Import From The Same Package