本人是java的初学都对下面这个用接口的例子不了解。请大侠指点下。
//实现接口
class RectangleSearch extends Rectangle implements Searchable
{
public RectangleSearch(int i,int t,int w,int h)
{
super(l,t,w,h);
}//接口抽象方法实现
public boolean isEqual(Searchable b)
{
RetangleSearch bb=(RetangleSearch) b
if((width==bb.width)&&(heigth==bb.heigth))
{
return true;
}
return false;
}}public static void main(String args[])
{
RetangleSearch[] Src=new RetangleSearch[3];
Src[0]=]new RetangleSearch(0,0,28,16)
Src[1]=new  RetangleSearch(0,0,25,18)
Src[2]=new  RetangleSearch(0,0,48,25)
RetangleSearch dest=new RetangleSearch(0,0,25,18)
int index=SearchArray.shellSearch(Src,dest);
System.out.println(index);
}
 问题1 是c在通用类SearchArray怎么可以调用isEqual方法,他并没有实现该接,只有在RectangleSearch类才有对方法的实现。这是为什么?
问题2: 在调用方法SearchArray.shellSearch(Src,dest); 传过去的类型跟SearchArray类
中的方法定时的类型不一样,是不是它会自动实现转换。
先谢了。

解决方案 »

  1.   

    怎么都听不懂啊!
    没有实现isEqual方法,子类实现了啊,可以调用子类的方法啊。
    子类的类型都可以看着是父类的类型啊!
      

  2.   

    要问问题  能不能先把程序贴贴全啊   
    弱弱的问SearchArray难道是API中提供的类??
    没见过哦...
      

  3.   

    有点晕
    API太多了也不知道人家说的是不是里面的类或者方法
    现在在网吧 
    不想现下载去查
    不然的话 就该贴出来先
      

  4.   

    这是一本java初学者上一个简单例子,不是什么API函数呀。
    下面这个程序不知怎么忘记粘了。不好意思
    //接口声明
    interface Searchable
    { boolean isEqual(Searchable b);
    }//通用类
    class SearchArray
    {
    public static int shellSearch(Searchable[],Searchable dest)
    { for(int i=0;i<src.length;i++)
    {
    if(src[i].isEqual(dest))
    return i;
    }
    return -1;
    }}