如何为不同的文件创建Java包?我试过了 下列。我做错了什么?什么是 正确的程序?
第一个文件是:
package dil;
public class Hello
{
Support sp=new Support();
int i=sp.tin();
public void man()
{
System.out.println(i);
}
}
第二个文件是:
package dil;
class Support
{
public int tin()
{
return 3;
}
}
现在,当我编译hello.java时,它会显示以下错误:
Hello:4:cannot find symbol
symbol: class Support
location: class dil.hello
Support sp=new Support();
^
Hello:4:cannot find symbol
symbol: class Support
location: class dil.hello
Support sp=new Support();
^
问题在哪里,我怎样才能把它们放在一起 包中的这些文件?
文件位于c:\ src。
答案 0 :(得分:1)
虽然Support类不是公共的,但这不会有问题,因为两个类共享同一个包。我的猜测是你没有根据它们的packagename将两个源文件放到一个目录中,并从hello.java所在的当前目录中调用javac编译器。
如果一个类在包a.b中,这意味着项目结构应该包含一个包含yourclass.java的文件夹./a/b。
在您的情况下,尝试创建一个名为./dil的文件夹,将源文件放入其中并从其父文件夹中调用javac。
答案 1 :(得分:1)
请参阅Sun Java教程中的Creating and Using Packages,了解在Java中使用软件包的所有细节。
答案 2 :(得分:1)
假设UNIX / Linux路径名,UNIX shell等,您需要以下文件结构:
/some/where/dil
/some/where/dil/hello.java
/some/where/dil/Support.java
然后将$CLASSPATH
设置为/some/where
,并使用命令
cd /some/where
javac dil/*.java
并使用
运行java dil.hello
或者,您可以告诉java
和javac
使用-cp
命令行选项的类路径。
您还应该在代码中修复以下错误:
public static void main(String[] arg)
。如果您不修复这些代码将编译,但java
命令将找不到入口点并将失败。答案 3 :(得分:0)
我发现了一些你需要检查的事情:
答案 4 :(得分:0)
Support
不是public
。公开并重试。
答案 5 :(得分:0)
我建议您尝试使用Netbeans,Eclipse或IntelliJ CE等免费IDE之一。这将有助于您开始编码,而不是艰难地设置一切。
BTW:这些IDE可以快速修复大多数常见问题,因此它们不仅可以为您提供错误,还可以为您提供修复错误的选项。