问个弱问题,关于package的

hijack 2003-10-30 08:09:33
package NEWP;

import First_Main;

public class HelloWorld {

public void SayHello() {
System.out.println(First_Main.GetString());
}
}
有另一个类(First_Main)要调用这个HelloWorld类,First_Main和这个HelloWorld不在同一个包里,其实是NEWP的上层目录。这样编译时“import First_Main;”这句,加上出错说少“.”,不加出错说不认识First_Main
...全文
63 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
hact 2003-11-01
  • 打赏
  • 举报
回复
你这样试试
新建一个C:\workplace
然后建立文件夹,编译,并把*.class放在相应的包对应的文件夹里
之后把*.java删掉
在编译运行helloworld.java

把两个原文件都贴出来吧
ybsoft 2003-11-01
  • 打赏
  • 举报
回复
很简单的问题,多试试就可以不值得浪费时间。。这个不是技术问题,而是概念问题
noratong 2003-10-31
  • 打赏
  • 举报
回复
对了,忘记说了,导入语句应该是First_Main所打包的包名+".First_Main;",而不是你的那种光First_Main就可以的。

再应该OK了!
YuLimin 2003-10-31
  • 打赏
  • 举报
回复
包名用大写,倒;)
noratong 2003-10-31
  • 打赏
  • 举报
回复
唉,又是这样的问题。好好打一下基础。

解决方法:
在HelloWorld所在的目录下用First_Main类所打包的包名建个文件夹,把First_Main的类文件放到那个文件夹里去,再编译你的HelloWorld就可以了。
hijack 2003-10-31
  • 打赏
  • 举报
回复
还是不名白,看样子要起找书了。

to yinowl(自从身边有了你):
问题不是出在First_Main里,是在HelloWorld.java里的“System.out.println(First_Main.GetString());”需要First_Main,所以我才加import First_Main;这句

to noratong(诺拉) :First_Main在HelloWorld的上层目录啊,还有我不知道First_Main在哪个包里,缺省的吧???
noratong 2003-10-31
  • 打赏
  • 举报
回复
你把First_Main的代码也贴出来看一下,我都被你搞糊涂了。

zhangjyr 2003-10-31
  • 打赏
  • 举报
回复
晕,你的问题应该是first_main类不处于某一个包中,可以这样修改
目录结构
yourDir/First_Main.java
yourDir/NEWP/HelloWorld.java

HelloWorld.java文件
package yourDir.NEWP;
import yourDir.First_Main;
public class HelloWorld {
public void SayHello() {
System.out.println(First_Main.GetString());
}
}

First_Main.java文件
package yourDir
import yourDir.NEWP.HelloWorld;
public class First_Main{
static public void Main(String[] args){
HelloWorld hello = new HelloWorld;
hello.SayHello();
}
}

然后将yourDir的上一层目录加入你的classpath,再编译应该就没问题了
伊奈 2003-10-31
  • 打赏
  • 举报
回复
前面打错了
首先,另一个类(First_Main)要调用这个HelloWorld类

则应该在First_Main文件中使用import NEWP.HelloWorld;

其次,这个文件编译完以后应该放在\NEWP\下
或者直接用 JAVAC -d . HelloWorld.java编译,系统会自动生成NEWP文件夹和HelloWorld.class文件
最后编译First_Main文件,放在NEWP同级目录
hijack 2003-10-31
  • 打赏
  • 举报
回复
up
hijack 2003-10-31
  • 打赏
  • 举报
回复
YuLimin(阿敏当兵), 呵呵,这是我写的第一个JAVA程序由文件名First_Main就能看出来。
别倒了,起来,到是说说那里出的错?

伊奈 2003-10-30
  • 打赏
  • 举报
回复
最终的程序如下
HelloWorld.java文件

package NEWP;
public class HelloWorld {
public void SayHello() {
System.out.println(First_Main.GetString());
}
}

First_Main.java文件

import NEWP.HelloWorld;
public class First_Main{
...
...
}
伊奈 2003-10-30
  • 打赏
  • 举报
回复
终于搞明白了
首先,另一个类(First_Main)要调用这个HelloWorld类
则应该在First_Main文件中使用import NEWP.First_Main;
其次,这个文件编译完以后应该放在\NEWP\下
或者直接用 JAVAC -d . HelloWorld.java编译,系统会自动生成NEWP文件夹和HelloWorld.class文件
最后编译First_Main文件,放在NEWP同级目录
伊奈 2003-10-30
  • 打赏
  • 举报
回复
我也遇到了同样的问题
我没有打包,两个文件放在一个文件夹内
如果不加import First_Main;
就没问题,因为pathclass加了.;
我试一下打包看看
hijack 2003-10-30
  • 打赏
  • 举报
回复
加这句:import First_Main;
[javac] Compiling 9 source files to E:\PP\java\t1\ant-build\classes
[javac] E:\PP\java\t1\src\NEWP\HelloWorld.java:4: '.' expected
[javac] import First_Main;
[javac] ^
[javac] 1 error
不加:
[javac] Compiling 9 source files to E:\PP\java\t1\ant-build\classes
[javac] E:\PP\java\t1\src\NEWP\HelloWorld.java:20: cannot resolve symbol
[javac] symbol : variable First_Main
[javac] location: class NEWP.HelloWorld
[javac] System.out.println(First_Main.GetString());
[javac] ^
[javac] 1 error
晕,这不是难题吧~~~~我等了一个晚上了。。。
hijack 2003-10-30
  • 打赏
  • 举报
回复
在环境变量里加上设置:(实际目录).../src;

???
spook_l 2003-10-30
  • 打赏
  • 举报
回复
你的src在那个目录下?
在环境变量里加上设置:(实际目录).../src;
上面的程序就没问题了!
spook_l 2003-10-30
  • 打赏
  • 举报
回复
如果NEWP的上层是环境变量的默认根目录,里面有First_Main.class。则上面的程序是的。即
HelloWorld 可以调用First_Main。
First_Main要调用HelloWorld.class,则需要加上import NEWP.*;
hijack 2003-10-30
  • 打赏
  • 举报
回复
问题不是出在First_Main里,是HelloWorld那个文件有问题,上面帖的是HelloWorld.java的全部内容。。。
他们的结构是:
src:
|
|-First_Main.java
|
|-NEWP
|
|-HelloWorld.java

很简单的一段程序就是编译不过
zxy1492 2003-10-30
  • 打赏
  • 举报
回复
在First_Main里加 import NEWP。*
加载更多回复(1)

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧