关于Package compilation问题

lsmiler 2004-10-08 09:57:21
What happens when you attempt to compile and run these two files in the same directory?
//File P1.java

package MyPackage;
class P1
{
void myMethod()
{
System.out.println("What a fancy method");
}
}

//File P2.java

public class P2 extends P1
{
myMethod();
}


问题1:调试p1.java时,需要建立一个名为MyPackage的文件夹吗?

2、我不知道该怎样放置这两个文件,其对应的相对存放位置如何,因为我无法编译p2,提示找不到p1

请高手赐教!
...全文
148 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
caiyanying732 2004-11-04
  • 打赏
  • 举报
回复
1.你一定得建个MyPackage的文件夹,并把P1.class放入其中。并且你的P1类也应该写成public形式吧,要不然别人怎么用你的包呢?
package MyPackage;
public class P1
{
public void myMethod() //供使用的方法
{
System.out.println("What a fancy method");
}

}2.你得把MyPackage的上级目录置于classpath中,如:d:\myJava\MyPackage,那classpath中一定得有d:\myJava。之后你在P2中加入import Mypackage.P1;这时,你的P2.java可以放到任何一个地方都能执行。

楼上两位都说放在同一目录下可以执行,但我好像没有通过编译(还想请教)。我认为,如果P1不加package MyPackage的话放在同一目录下才能执行。
黑马 2004-10-09
  • 打赏
  • 举报
回复
在编译p1.java的时候会自动建立MyPackage的文件夹

在p2.java最前面也加上package MyPackage;语句就可以编译通过,并且放在同一个文件夹下!
draco2002 2004-10-08
  • 打赏
  • 举报
回复
1:调试p1.java时,需要建立一个名为MyPackage的文件夹,并且p1.java要在此文件夹下!

2:如果P2.java和P1.java在同一个文件夹下,则肯定没问题;若不在同一个文件夹下则定义P2的时候首先要导入类P1,import 包名.P1

相关推荐
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2004-10-08 09:57
社区公告
暂无公告