Q:

Класс в качестве параметра другого класса

Здесь, как я понимаю, три класса взаимодействуют друг с другом опираясь на четвёртый(class B).  
public abstract class A {

public B bb;

// constructor
public A(B beb) {
    bb = beb;        
}
}

public class B {
  /*Класс
  с переменными
  и методами*/
}

public class C extends A {

//constructor
public C(B beb){
    super(beb);
}
}

Ниже непонятно когда класс С вызывается с ссылкой на класс B в качестве параметра. 
public class D{

public B bb;
public C cc;

public void init(){
cc = new C(bb);  
}

А что именно происходит во всём коде? 
P.S. работать программа начинает с метода init()   

A:

тут:
cc = new C(bb);  

создается экземпляр класса C, при это в конструктор передается как параметр ссылка на экземлпяр B (bb). 
далее конструктор C:
public C(B beb){
    super(beb);
}

принимает как аргумент экземпляряр и вызывает родительский конструктор передавая туда B
В родительском конструкторе
public A(B beb) {
    bb = beb;        
}

beb складывается в переменную bb

Вопрос невнятный и не похож вообще на вопрос.  Поэтому и ответ в таком же стиле.