我有类似于这些的课程:
class MyClass1 {
static MyObject obj = new MyObject();
public static void doSomething()
{
MyClass1.obj.print();
MyClass2.obj.print();
}
}
class MyClass2 {
static MyObject obj = new MyObject();
public static void doSomething()
{
MyClass1.obj.print();
MyClass2.obj.print();
}
}
public class MyObject {
public void print()
{
System.out.println("Which object called me?");
}
}
从 MyObject 中的 print 函数,我如何确定哪个对象调用了 print 函数,是 MyClass1 中的那个,还是 MyClass2 中的那个?
使用堆栈跟踪,我只能找到 print 方法所在的函数以及 print 方法所在的函数的类。