AはBのオブジェクトを生成してBを返す
Bはレコードを追加する
Cは引数にBのオブジェクトを持ち追加したレコードによってファイルを作成しそのファイル名を返す

AとBはできましたがBで作成したlistをどうやってCに渡すかがわかりません

public class A{
    public B create(){
        B b = new B()
        return b;
    }
}

Bは

public class B{
    private ArrayList list = new ArrayList();

    publc void add(int a,int b,String c){
        list.add(a);
        list.add(b);
        list.add(c);
        System.out.println(list);
    }
}

としまして
Xでは

public class x{
    public void test{
        A a = new A();
        B b = a.create();
        b.add(000001,1234,"テストデータ");
    }
}

これで想定の結果が出力されました。
後はCのメソッドを作ってXで呼び出せれば完成です

Cでは

public class C{
    public String createFile(B add){
        //ファイルを作成
    }
}

このCの部分を作成するに当たってBのaddという情報を渡すにはどうしたらいいのでしょうか?