| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 986 人关注过本帖
标题:初级问题,大家见笑,关于两个不同包的类相互访问的问题。
取消只看楼主 加入收藏
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
收藏
 问题点数:0 回复次数:4 
初级问题,大家见笑,关于两个不同包的类相互访问的问题。

1。我先在E:\JAVA\ 目录下新建了一个文件夹p1,然后我将三个.java文件保存在此文件夹里,我通过命令行方式编译并且通过了。接着,我又在E:\JAVA\ 下新建了文件夹p2,然后将二个.java文件放到此文件夹里,这两个.java文件都调用了p1中的类,我仍然在命令行下编译,但是出现编译错误,提示找不到p1,我将P1复制到p2里,再次编译运行,这次通过了,我想知道这是怎么回事?


2。还有就是在命令行方式下编译的时候,为什么必须把同一包中的所有.java文件一次性通过javac编译,而不能一个一个的分别编译呢?

谢谢!!

搜索更多相关主题的帖子: 见笑 初级 访问 
2006-01-10 22:20
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
收藏
得分:0 
以下是引用cll19820814在2006-1-11 10:24:00的发言:
我不告诉你我在哪里,你找不找得到我??
你不告诉类A 类B的位置,又怎么引用类B呢?
看看关于封装的部分就了解了。
请问要怎么把包p1的位置告诉包p2?




p1中的三个.java文件我都在开头加了package p1;p2中的两个.java文件我加了package p2;我没用import,我在p2中的.java文件调用p1中的类的语句处用的全名,也就是包名(p1)+类名;
我的classpath:.;C:\j2sdk1.4.2_10\lib
我在命令行方式是这样键入的:
先编译p1中的.java文件:
E:\JAVA\p1>javac SamePackage.java Protection.java Derived.java Demo.java(编译通过)
然后:
E:\JAVA\p1>cd..
E:\JAVA>java p1.Demo(显示出正确结果)

再编译p2中的.java文件:
E:\JAVA\p2>javac Demo.java OtherPackage.java Protection2.java(编译通不过)
错误信息:
Protection2.java:2: package p1 does not exist
class Protection2 extends p1.Protection
^
OtherPackage.java:6: package p1 does not exist
p1.Protection p=new p1.Protection();
^
OtherPackage.java:6: package p1 does not exist
p1.Protection p=new p1.Protection();
^
Protection2.java:9: cannot resolve symbol
symbol : variable n_pro
location: class p2.Protection2
System.out.println("n_pro="+n_pro);
^
Protection2.java:10: cannot resolve symbol
symbol : variable n_pub
location: class p2.Protection2
System.out.println("n_pub="+n_pub);
^
5 errors

接着我将包p1整个复制到包p2中再次编译:
E:\JAVA\p2>javac Demo.java OtherPackage.java Protection2.java(这次编译通过了)
E:\JAVA\p2>cd..
E:\JAVA>java p2.Demo(得到正确结果)

这到底是什么原因呢?
2006-01-11 13:41
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
收藏
得分:0 
我个人建议还是要用import语句吧?
-------但是用全名跟用import的作用是一样的

还有classpath里加入了那个p1, p2 包没有?
---------要
为什么要加入那个p1, p2 包?
我的classpath:.;C:\j2sdk1.4.2_10\lib
2006-01-11 14:35
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
收藏
得分:0 
那我的classpath有问题吗?
2006-01-11 14:48
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
收藏
得分:0 
呵呵,豁然开朗,谢谢了!
2006-01-11 20:47
快速回复:初级问题,大家见笑,关于两个不同包的类相互访问的问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027503 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved