//FindErrors.java  --文件名改为NewFind 
 class Find
{
    private int i;
    public  void f(){System.out.println("Find.f()");}    
}public class NewFind extends Find
{
    public void f(){System.out.println("Newfind.f()");}
    public void f1() {System.out.println("NweFind.f1()");}
    public void f(long i){this.i=i;}
    public static void main(String args[])
   {
      NewFind nf=NewFind();
      f2(nf);
   }
}}
class FindErrors extends Find
{
    public void f2(Find ff)
    (
        if(ff instanceof NewFind))
        {
            ff.f1();
            ff.f();
        }
    }   
}
//以上仅是按照java的要求进行的修改,没有测试

解决方案 »

  1.   

    1、一个文件里面最外层的public类只能有一个。
    2、public void f(long i){this.i=i;},this.i没有定义啊?它不能继承Find的i,因为那个是私有内部成员
    3、public void main(String args){
        NewFind nf=NewFind();
        f2(nf);
    }
    这个main函数属于哪个类的?呵呵,找不到爹了
    4、public void f2(Find ff)(,最后这个应该是{
    5、NewFind nf=NewFind();这是什么?java1.5新语法吗?呵呵,new老兄怎么不见了
    6、    public void f2(Find ff){
            if(ff instanceof NewFind)){
                ff.f1();
                ff.f();
            }
        }  
    Find类没有f1()函数
    7、 if(ff instanceof NewFind)){这多了个(
    8、public void main(String[] args){,没有static
    改过的如下class Find
    {
        private int i;
        public  void f(){System.out.println("Find.f()");}    
    }class NewFind extends Find{
    long i ;
        public void f(){System.out.println("Newfind.f()");}
        public void f1() {System.out.println("NweFind.f1()");}
        public void f(long i){this.i=i;}
    }
    public class FindErrors extends Find{
        public static void f2(NewFind ff){
            if(ff instanceof NewFind){
                ff.f1();
                ff.f();
            }
        }    public static void main(String[] args){
    NewFind nf=new NewFind();
    f2(nf);
    }
    }