java - 获取当前类对象

标签 java

我有三个类(class).. A、B、C。

  1. 在 B 类和 C 类中,我都有一个静态字符串变量“name”,其中包含 B 类和 C 类的名称,如-
 class B
     {
     static name;
     public static void main(String args[])
     {
     name="Class B";
     A.getName();
     }
  1. 我正在从类 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/

相关文章:

java - Android - 搜索 View 中的空指针异常

java - GWT 的 Speed Tracer 服务器端跟踪

java - LibGDX - 修改组会影响 child 吗?

java - 具有不同类型的变量参数?

java - 如何将Cucumber测试添加到预先存在的Gradle项目(Java)?

java - 没有 web.xml 的基于注解的 Spring/JAX-RS 集成

java - 使用 FirebaseRecyclerAdapter 将 Firebase 实时数据库中的数据检索到 Recycler View 中

javax.net.ssl.SSLHandshakeException : Unsupported curveId: 29

java - HQL检查对象是否包含请求集合的所有元素

java - "Restful"Java WEB MVC 框架