包之间相互引用类时该如何编译和执行(急)?
我现在在学JAVA基础,看完基础内容的一半了,有一些疑问,是关于包和接口的内容的.
问题: 书上说在包与包之间怎么互相引用?(比如我定义一个MyPack的包,书上说为了使程序找到MyPack,程序在的紧邻的上层目录执行,我先在包外面编译了一个文件,然后把源文件与.class文件都放进了MyPack文件夹中,再用java命令执行时出错了)
源程序如下:
package MyPack;
import BookPack.*;
class UseBook{
public static void main(String args[])
{
Book books[] = new Book[5];
books[0]=new Book( "Java Beginners Guide ", "Schildt ",2001);
books[1]=new Book( "java2 programmers Reference ", "Schildt ",2000);
books[2]=new Book( "HTML Programmers Reference ", "Powelll and Whitworth ",1998);
books[3]=new Book( "Red Storm Rising ", "Clancy ",1986);
books[4]=new Book( "On the Road ", "Kerouac ",1955);
for(int i=0; i <books.length;i++) books[i].Show();
}
}
这是一个包中的程序文件.
BookPack包中的内容如下:
package BookPack;
class Book{
private String title;
private String author;
private int pubDate;
public Book(String t,String a,int d)
{
title=t;
author=a;
pubDate=d;
}
public void Show()
{
System.out.println(title);
System.out.println(author);
System.out.println(pubDate);
System.out.println();
}
}
关键问题是不知道怎么编译和执行.
如果哪位仁兄能给些帮助,本人不胜感激.
------解决方案--------------------包里面CLASS 默认是FREINDLY的 在包外不能调用 你把BOOK类生命诚PUBLIC看看
------解决方案--------------------javac ..\BookPack\*.java ..\MyPack\*.java
java MyPack.UseBook
------解决方案--------------------java *.java
就行
用Eclipse那些事不用你管
------解决方案--------------------1.编译时路径可以无关,但是需要引用的类型必须路径正确
2.你应该首先编译BookPack包下的Book.java文件,得到一个Book.class(假设当前目录是c:\)
3.将该.class文件放到.\BookPack\下去
4.在当前目录下编译UseBook类
5.将编译完成的UseBook.class类放入.\MyPack\目录下
6.在c:\下使用java MyPack.UseBook运行