class Outer{
String info = "test inner";
public String getInfo(){
  return info;
}
public void fun(Outer out){
info =(Outer)out;
new Inner(this).print();
}
}
class Inner{
Outer out;
Inner(Outer out){
this.out = out;
}
public void print(){
System.out.println("INFO="+out.getInfo());
}
}
public class Test2{
public static void main(String args[]){
Outer o = new Outer();
o.fun("test outer");
 

解决方案 »

  1.   

    你还不明白?   "test outer"是字符串类型  他不是Outer    你这个编译能通过?!
      

  2.   

    info =(Outer)out;
    但我不知道怎么改了..求指导下
      

  3.   


    class Outer{
        String info = "test inner";
        public String getInfo(){
            return info;
        }
        public void fun(String s){
           Outer outer =new Outer();
            outer.info=s;
            new Inner(outer).print();
        }
    }
    class Inner{
        Outer out;
        Inner(Outer out){
            this.out = out;
        }
        public void print(){
            System.out.println("INFO="+out.getInfo());
        }
    }
    public class Test2{
        public static void main(String args[]){
            Outer o = new Outer();
            o.fun("test outer");
        }
    }
      

  4.   


    你错的是这句  
    o.fun("test outer");
    public void fun(Outer out)