//原来定义的一个接口
public interface AnInterface{   ... ... }//某个类想声明一个AnInterface类型的引用
public class SomeClass
{
   AnInterface theInterface = null;    ....
}
在jBuilder2005里面总是提示找不到AnInterface这个类. 在netBeans可以
我记得下面这种用法是可以的
Arraylist myList = new ArrayList();//Iterator也是个接口啊Iterator it = myList.iterator();

解决方案 »

  1.   

    当然可以了,检查以下你的AnInterface有没有导入或者你在jbuilder下make下。
      

  2.   

    先clean,然后make,检查下在classes目录下有没有AnIterface.class
      

  3.   

    当然可以。List list;声明没有任何问题,而这时候,list是等于null的。你必须对他初始化才可以使用这个引用变量,List是一个接口,但它同样实现了部分方法,比如:add(Object o)、remove(Object o)......
    众所周知,接口可以拥有“有方法体的方法”,而那些没有方法体的方法,在implements的时候,需要给与实现。而这些需要给与实现的方法,除非有特殊的需求,否则一般不会用到他们——这也是它作为接口的价值。但是你没办法这样对List进行实例化:List list = new List();接口不可能有构造函数。你只能这样list = new ArrayList();完成初始化。虽然list是一个引用型变量,但是作为参数传递时,会有一些小的意外!
    比如,我们常常做这样的事情:ArrayList array = new ArrayList();
    setValue(array);在setValue方法中,对array进行add对象的操作。而不必返回一个引用。但这里,当我们传递List的引用型变量时,就无法达到效果。如果你贸然进行读取操作,可能会得到一个NullPointerException,详情参见博客:
    http://blog.csdn.net/Lisliefor/archive/2007/11/01/1860753.aspx