首先是一些条件:
1.设定F:\MyJavaCode为当前工作目录
2.将Base类放在F:\MyJavaCode\Base文件夹中
3.将Derived类放在F:\MyJavaCode\Derived文件夹中Base.java文件如下package Base;public class Base {
int friend_data = 1;
public int public_data = 2;
private int private_data = 3;
protected int protected_data =4; 
}----------------------------------------------------------
Derived.java文件如下:package Derived;import Base.*;
public class Derived extends Base {
Base a = new Base();
public void dataUse() {
System.out.println("data_public = " + a.public_data);
}
}
-----------------------------------------------------------------然后我进入F:\MyJavaCode\Derived目录下执行javac Derived.java报错,说是找不到Base包
请问为什么?我要如何设置环境变量中的classpath??

解决方案 »

  1.   

    进入F:\MyJavaCode目录下执行javac   Derived.Derived.java试试。
      

  2.   

    回楼上的,编译提示找不到Derved.Derived.java文件
      

  3.   

    到工程目錄中運行,在包目錄下編譯java文件,或者編譯全部的java文件,具體的google搜一下,最好自己試試
      

  4.   

    进入F:\MyJavaCode\Derived目录下执行javac   Derived.java
    分析错误原因:
    编译器发现你的Derived.java中有这行代码[package   Derived; ],然后它就在当前目录下去找Derived文件夹,但没有找到,所以报错你用eclipse工具让它给你编译吧.或者你在Derived文件夹下再建个Derived文件夹再运行
      

  5.   

    进入F:\MyJavaCode\Base,键入javac Base.java ,编译出Base.class,为了可以在其它的地方引用此包,设置classpath 的路径,classpath=.;F:\MyJavaCode;然后在进入F:\MyJavaCode\Derived目录下执行javac Derived.java 编译成功!
      

  6.   

    回5楼和6楼的,你们的方法我都试过了,可是都不行
    都提示软件包Base不存在。郁闷啊!!!!
      

  7.   

    我这试了可以啊!你是在哪里设置的环境变量,在系统属性高级里的还是在命令行下设置的?估计是你在命令行下的classpath设置错了吧!?你进系统属性里设置一下应该行的,就把你的F:\MyJavaCode添加到classpath里,试一下!呵呵 
      

  8.   

    我是在系统属性高级里设置的
    在环境变量中有用户变量和系统变量,我是在系统变量里加入了classpath,是不是要在用户变量那设置呢?
      

  9.   

    不用,在系统变量里设就可以了,你把F:\MyJavaCode添加到classpath后直接进入到F:\MyJavaCode\Derived 键入javac Derived.java 也可以编译的,这时候你进入Base文件夹可以看到有Base.class ,在Derived文件有Derive.class
      

  10.   

    编译:
      把环境变量设置成  F:\MyJavaCode\Base;  进入F:\MyJavaCode\Base 执行  javac Base.java
      把环境变量设置成  F:\MyJavaCode\Derived;  进入F:\MyJavaCode\Derived 执行  javac Derived.java运行:
      把环境变量设置成  F:\MyJavaCode;  
      然后进入  F:\MyJavaCode
      执行 java Base.Base
      或者 java Derived.Derived
      

  11.   

    java编译器的原理虽然是在编译子类的时候去找父类,但是一起编译的话可能就会好一些
      

  12.   

    编译的时候设置一下环境变量就好了
    例如:set classpath=F:\MyJavaCode
    然后再编译