我有三个类(class).. A、B、C。
- 在 B 类和 C 类中,我都有一个静态字符串变量“name”,其中包含 B 类和 C 类的名称,如-
class B { static name; public static void main(String args[]) { name="Class B"; A.getName(); }
- 我正在从类 B 和 C 调用类 A 的 getName 方法。类 A 如下:
class A {
getName() { System.out.println(this class called me); } }
C 类是:
class C { static name; public static void main(String args[]) { name="Class C"; A.getName(); }
现在我的问题是,我应该使用什么代码来代替 A 类中的“这个类叫我”,这样我就可以得到调用 A 的类的名称!我希望我清楚!!
最佳答案
您的A.getName
方法无法知道哪个类的代码调用了它。您必须将该信息传递给它。
好吧,这不是严格意义上的,您可以通过生成堆栈跟踪并检查它来弄清楚。但这是一个非常糟糕的主意。一般而言,如果一个方法需要了解某些信息,您要么 A) 使其成为具有该信息作为实例数据的实例的一部分,要么 B) 将信息作为参数传递给它。
关于java - 获取当前类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14084981/