【发布时间】:2014-06-13 16:58:22
【问题描述】:
这是我想要做的:
在我的代码中,我有一组类可以创建其他类的对象。我想做的是,在构造函数被调用的类的构造函数中,首先找到调用构造函数的类。
例如:
Main.java:
public class Main {
public static void main(String[] args) {
Test t = new Test();
}
}
Test.java:
public class Test {
public Test(){
//somehow find the class where I came from :(
}
}
【问题讨论】:
-
不,如果不将值显式传递给构造函数或构造堆栈跟踪,则无法做到这一点 - 由于 JIT 内联,这可能不准确。
-
不!这个设计听起来像是一场噩梦:|
-
请注意,这样做严重违反了面向对象的原则。如果没有别的,如果您想从不同的位置构造类,它将迫使您重写类的构造函数。让调用类传入一个参数来说明它希望构造函数做什么。
标签: java constructor