包调用的问题,困惑中......

leotonny 2003-11-12 01:16:09
Outter.java源程序:

public class Outter
{
public void hello()
{
System.out.println("Hello World!");
}
}


Inner.java源程序:

package in;

class Inner
{
public static void main(String[] args)
{
Outter outter = new Outter();
outter.hello();
}
}

两个java文件放在同一目录,首先编译Outter.java文件,成功!
然后用javac -d . Inner.java却提示找不到Outter类!
像这种一个带包,一个不带包,包内class调用包外的class该怎么用呢?
找了好多资料都没有发现解决办法,希望能在这里解决!
...全文
31 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
YuLimin 2003-12-06
  • 打赏
  • 举报
回复
你加了
import Outter;
没有啊???
fft123 2003-11-12
  • 打赏
  • 举报
回复
我也不清楚这个东西
没见过具体的规范

btw:楼主的昵称和我的有一比啊,哈哈哈
leotonny 2003-11-12
  • 打赏
  • 举报
回复
如果真如fft123(专杀各类日本畜生)大哥所讲:
好像java里,一个包里的文件是不能调用该包外未打包的class的

-----------------------------------

那就是java的一个规范了?(可是没有看到相关的官方资料啊,大家有的话能提供一下吗?)要真是如此的话,那我也没招了,就是不知道有没有人这么用过?
继续关注中....
fft123 2003-11-12
  • 打赏
  • 举报
回复
好像java里,一个包里的文件是不能调用该包外未打包的class的
除非你去掉包,或者把外面那个没打包的class打上包
leotonny 2003-11-12
  • 打赏
  • 举报
回复
gz...
leotonny 2003-11-12
  • 打赏
  • 举报
回复
回复人: loveyousomuch(★爱神厄洛斯★) ( ) 信誉:100 2003-11-12 13:45:00 得分:0


很简单啊,2个方法,一是将包外的也放到包内中,二是带上-classpath参数


可是我现在就是希望能在包内调用包外的class
leotonny 2003-11-12
  • 打赏
  • 举报
回复
希望大家能测试了再发,因为YuLimin(阿敏当兵) 说的两种方法我调试都未通过!

在Inner.java里面的package in;下面增加import Outter;
编译Inner.java时提示 :
'.' expected

不加import Outter;时提示:
cannot resolve symbol
class Outter

文件放置也是按上所述的,两种编译方法错误提示一样:(

非常感谢大家的答复,但是能不能有点专业精神呢?
loveyousomuch 2003-11-12
  • 打赏
  • 举报
回复
很简单啊,2个方法,一是将包外的也放到包内中,二是带上-classpath参数
YuLimin 2003-11-12
  • 打赏
  • 举报
回复
1、
请把文件这样放
当前目录Outer.java
当前目录in\Inner.java

这是第一步肯定要正确

然后
2、在Inner.java里面的package in;下面增加
import Outter;

3、在当前目录下编译
javac in\Inner.java
全部编译了两个文件
运行java in.Inner即可

4、或者分开编译
javac Outter.java
进入in目录
javac -classpath ../. Inner.java

有问题再说啦;)
赫赫(*_*)

62,614

社区成员

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

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