【发布时间】:2013-03-10 11:01:15
【问题描述】:
这些类属于同一个 pkg。它们在 dir 中,pkg 的名称。
- 一般来说,类如何在同一个 pkg 中相互访问?
错误
javac PackTest.java
PackTest.java:8: cannot find symbol
symbol : class PriTest
location: class pacc.PackTest
System.out.println(new PriTest().getSaluto());
^
1 error
PKG pacc 中的类
$ cat PackTest.java
package pacc;
import java.io.*;
public class PackTest
{
public static void main(String[] args)
{
System.out.println(new PriTest().getSaluto());
}
}
$ cat PriTest.java
package pacc;
public class PriTest
{
public PriTest(){}
private String saluto="SALUTO FROM PriTest";
public String getSaluto(){return saluto;}
}
目录名的PKG
$ find .. -type d -name "pacc"
../pacc
$ ls ../pacc
makefile PackTest.java PriTest.java
$ ls
makefile PackTest.java PriTest.java
解决了!
$ cat makefile
p:
javac ./pacc/PackTest.java
java pacc/PackTest
$ make p
javac ./pacc/PackTest.java
java pacc/PackTest
SALUTO FROM PriTest
【问题讨论】:
-
@HH:我注意到你最近一直在问很多关于 Java 的问题:你应该花点时间安装一个 IDE。它会让你的时间更有效率。我推荐eclipse.org
-
@poly:我破了太多次了,项目需要快速修改。当项目更加冻结时,我会但还没有。
-
IDE 的重点是能够进行这些快速修改。此外,通配符导入是惰性的——Eclipse 可以帮助您摆脱这些。
-
@HH,Eclipse 是一个非常成熟和稳定的Java IDE。只要您不从主干中提取源代码并自己编译它,它就应该可以很好地工作。伽利略版本已经发布了一段时间,我从来没有遇到过任何问题。您可能需要花一两个小时来安装它并熟悉它。如果您有问题,请在这里提出问题,我相信会很快得到答复。
-
使用 IDE 就不用担心这种傻事了