你的a.java和b.java里面有写package吗?这个两个文件是都放在jdk/bin目录下吗?

解决方案 »

  1.   

    javac b.java -classpath ……
    ……里面加上你的环境变量和a.class
      

  2.   

    都是package db;javac b.java -classpath d\jdk\bin\a.class
    提示:class db.a not found!
    照着做还是不行!
      

  3.   

    如果a.java是package db的话,那a.class就该放在db目录下,而不是只在bin下。ok?
      

  4.   

    放在,d:\jdk\bin\db\ 还是不行!
      

  5.   

    比如你的package目录db放在D:\db下,D:\db目录有a.java,b.java
    则(注意):   你必须在D:\ 跟目录编译两个文件!!!也就是:   javac db\a.java
       javac db\b.java!!
      

  6.   

    你的情况:d:\jdk\bin\db\*.java
    则是:  d:\jdk\bin> javac db\a.java
      d:\jdk\bin> javac db\b.java!!!
      

  7.   

    给你解释详细点吧:/**
     * D:\db\a.java
     */
    package db;public class a {    public String get(String str) {
            return str.toUpperCase();
        }
    }/**
     * D:\db\b.java
     */
    package db;public class b {    public static void main(String[] args) {
            a newa = new a();
            String str = newa.get("hello");
            System.out.println(str);
        }
    }正常编译的时候是在D:\ 目录下:
    C:\> D:
    D:\> javac db\a.java
    D:\>
    D:\> javac db\b.java
    D:\>
    D:\> java db.b
    HELLO
    D:\>如果你是在D:\db目录下编译,则:
    D:\db> javac b.java -classpath ..如果用绝对路径,则:
    C:> javac d:\db\b.java -classpath d:\