用什么步骤可以知道调用本类方法的上级类

用什么方法可以知道调用本类方法的上级类
比如
Class  B{
public void print(){
system.out.print("B");
}
}

Class A{
void print(){
B b=new B();
b.print();
}
}

A a=new A();
a.pint();
这样当创建A的对象并调用B的print方法,怎么可以在B中得到A的类名和包名。有方法吗??


------解决方案--------------------
目前来说  就一种方法可以  抛异常  然后手动捕获异常  在异常的栈信息中  存放着调用关系