A:
public class A {
private int t;
public A() { t++; }
         public int getT(){
            return t;
         }
}B:
import java.util.ArrayList;
public class B {
private ArrayList s;
public B() {  s = new ArrayList(); }

public void printS(C c) {
           int tOfA = c.getTofA();   
           s.add(t);
          System.out.println(s+".....");
}
}public class c{
  pubilc A a;
  private  c(){
     }
  public c(A a){
     this.a = a;
  }
  public int getTofA(){
    return a.getT();
  }  public static void main(String[] aa){
    A a = new A()
    C c = new C(a);
    B b = new B();
    b.printS(c);
  }
}

解决方案 »

  1.   

    谢谢: moumouren(某某人) 
      这是个方法,但是还是有点不合我要求,可能是我的第三个要求没说清楚。
    3.C是个测试用例。A,B类相当于用户接口,C类是用户调用接口用例,也就说明了,AB类对用户是透明的。用户的C类只能是调用A,B类中的方法,实例化B,A类,不能有太多的动作了。不知道我说清楚了没有?
      

  2.   

    其实问题
    也即能把A类中的一个变量值t,加到B类的变量s中去。C类调用a或b接口,就能得到整合后的S变量。期间S可能还有F类变量f值。,原理类似于A,B类。注:t可不局限于a中,可用另一个类封装,在B类中得到封装类,也就得到t的变量值了。(这是我想到的,可不知道如何实现)
      

  3.   

    该个名字而已-- moumouren(某某人) 回答public class D{
     public static void main(String[] aa){
        A a = new A()
        C c = new C(a);
        B b = new B();
        b.printS(C);
      }
    } 把D当作用户调用的接口,如果你还不习惯的话,把程序中的C和D互换就行了 ,写java没多久吧?
      

  4.   

    moumouren(某某人)  的方法是可行的。  你要在处理时变通一下,让类成为用户接口的一个参数。C类