interface  A{
      public void doSomething();
}class B{
    public  void fun(A a){
System.out.println("B类的fun函数");
a.doSometing();

}}class Im implements A{  
     public  void doSometing(){
       System.out.println("doSometing");
 }
}class Test7{
public static void main(String args[]){
Im al = new Im();
    A a = al;


    B  b = new B();
b.fun(a);
}
}

解决方案 »

  1.   

    实现A接口,必须要重写A接口中定义的方法doSomething() 不明白你要问什么?
      

  2.   

    编译通不过啊,提示
    Test7.java:8: 错误: 找不到符号
            a.doSometing();
             ^
      符号:   方法 doSometing()
      位置: 类型为A的变量 a
    Test7.java:14: 错误: Im不是抽象的, 并且未覆盖A中的抽象方法doSomething()
    class Im implements A{
      

  3.   

    我用Im类已经实现了A接口,并也复写了doSometing方法了,为什么还是提示,我没有覆盖A中的抽象方法doSomething()
    呢?
      

  4.   

    我看出来了  
    你想重写的  可以是写错了  
    public void doSomet(h)ing()  少了一个 h 
      

  5.   

    谢谢sanyeshu001,还有一个问题
    Test7.java:8: 错误: 找不到符号
            a.doSometing();
             ^
      符号:   方法 doSometing()
      位置: 类型为A的变量 a
    1 个错误
      

  6.   

    不是一样吗  还是少个 h 啊  
    你A里面定义的是 doSomething   
    下面用的是      doSometing     
      

  7.   

    呵呵,我真是太粗心了,谢谢!好久没弄JAVA,以为是接口哪里还没记牢。Thank you !