我用文本编辑器写的程序,没有用Eclipse等IDE。
写了一个接口,另一个类实现这个接口。
把两个文件都放在C盘根目录。
编译接口,没有问题。
但是编译类的时候,总是出现
AddBQYBase.java:25: cannot find symbol
symbol: class BQYAttributeList
   implements BQYAttributeList
              ^
难道需要加别的设置吗?谢谢大家

解决方案 »

  1.   

    class BQYAttributeList
      implements BQYAttributeList 如果没看错的话,两个名字为啥一样?
      

  2.   

    估计还是typo类的错误吧,贴下你的代码,不然怎么知道哪儿出错了。
      

  3.   

    package com;
    /**
      * Copyright (c) 2002 - 2004, Hyperion Solutions Corporation.  All rights reserved.  
      */import com.sqribe.rm.*;
    /**
     * Defines static constants for AddBQYDocument and AddBQYJob.
     * These strings will be used as key names for some parameters
     * to be specified in input files.
     * 
     * Please refer to sample input files for more information.
     * (inputBQYDoc.txt and inputBQYJob.txt)
     */
    public interface BQYAttributeList
    {
        //------------------------------------------------------------------------
        // Common to BQYDoc and BQYJob
        //------------------------------------------------------------------------
        static String BQYATTRIB_NAME = "BQY.DisplayName";             // String
        static String BQYATTRIB_DESC = "BQY.Description";             // String
        static String BQYATTRIB_KEYWORDS = "BQY.Keywords";            // Comma-separated list of Strings
        static String BQYATTRIB_IHTMLVIEW = "BQY.iHTMLView";          // boolean
        static String BQYATTRIB_HTMLPREGEN = "BQY.HTMLPregenOption";  // int (enum)
        
        //------------------------------------------------------------------------
        // Specifies Job-specific attributes 
        //------------------------------------------------------------------------
        static String BQYATTRIB_RUNINBG = "BQY.RunInBackground";      // boolean
        static String BQYATTRIB_STATICHTML = "BQY.GenStaticHTML";     // boolean
        static String BQYATTRIB_AUTODEL = "BQY.AutoDeleteOutputs";    // int
        static String BQYATTRIB_CALENDAR = "BQY.Calendar";            // String
        //------------------------------------------------------------------------
        // For OCE Mappable sections.
        //------------------------------------------------------------------------
        static String BQYATTRIB_OCEDOC = "BQY.Section.OCEDocument";   // String (Uuid)
        static String BQYATTRIB_PROMPT = "BQY.Section.Prompt";        // int (enum)
        static String BQYATTRIB_DBUSER = "BQY.Section.DBUsername";    // String
        static String BQYATTRIB_DBPASS = "BQY.Section.DBPassword";    // String    //------------------------------------------------------------------------
        // For Processable sections.
        //------------------------------------------------------------------------
        static String BQYATTRIB_PROCESS = "BQY.Section.Process";      // boolean    //------------------------------------------------------------------------
        // For TC-Enabled sections.
        //------------------------------------------------------------------------
        static String BQYATTRIB_PREGEN = "BQY.Section.Pregenerate";        // boolean}
    这是接口
      

  4.   

    package com;
    /**
     * Copyright (c) 2002 - 2004, Hyperion Solutions Corporation.  All rights reserved.  
     */import com.sqribe.rm.*;
    /**
    * Base class for AddBQYDocument and AddBQYJob.
    * It defines some of the methods common to both BQY documents and BQY jobs.
    */
    public abstract class AddBQYBase
       implements BQYAttributeList
    {
       }这个是实现类
      

  5.   

    我没有这个包com.sqribe.rm.*;所以我注释掉了,然后我也去掉了第一句package com;在我这儿没问题你的错误是:AddBQYBase.java:25: cannot find symbol 
    symbol: class BQYAttributeList 
      implements BQYAttributeList 然后实际上你的类是AddBQYBase是不是你最开始写错了啊? 
      

  6.   

    不是这个原因,我写了个最简单的类和接口
    接口a
    package com;public interface a
    {
       
    }
    在console下编译javac a.java没有问题。
    类b
    package com;public abstract class b implements a
    {
       
    }
    在console下编译javac b.java,同样的问题。
    b.java:3: cannot find symbol
    symbol: class a
    public abstract class b implements a
                                       ^
    1 error我感觉是在console下编译运行java程序是不是有特殊的设置啊。
      

  7.   

    是不是因为你加了package之后编译需要带路径? 你试下
      

  8.   

    不是的,我把package去掉了也是一样的效果。
    你那边没有问题?
    我这边好几个人,好几台电脑都是一样的现象
      

  9.   

    都用javac -d . *.java 来编译
      

  10.   

    解决了,我用javac -classpath c:\ b.java或者javac -sourcepath c:\ b.java都可以编译了。
    或者把c:\加到环境变量classpath下也可以。主要就是要指出编译b.java的时候用到的类a.class或者源文件a.java。
    谢谢portnet,回复很有提示性。
    谢谢justinavril,谢谢帮忙。