java - 反射:在静态方法中获取调用对象

标签 java reflection static static-methods

是否可以在该方法中获取调用静态方法的对象?

我有这个代码:

class A{
    static void foo(){
    }
}
A a = new A();
a.foo();

我可以在方法 foo() 中获取实例 a 吗?

最佳答案

首先,作为一个程序员,你的代码并不好。

这是因为静态方法是类级别的方法,应该在没有任何类实例的情况下被调用。

推荐方法:

class A{
    static void foo(){
    }
}
A.foo();

Can I get instance a in method foo() ?

不,你不能。 Because foo() is declared as static .因此,您不能在该方法内部使用 this,因为 this 包含对调用该方法的对象的引用。

关于java - 反射:在静态方法中获取调用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6667115/

相关文章:

java - getDeclaredMethod 不起作用,NoSuchMethodException

c# - asp.net mvc 中的动态类型转换编辑操作 : how can I handle multiple datatypes without throwing an exception?

c++ - 静态变量的初始化

Java 执行回调时删除监听器

java - Paypal Sandbox 支付状态未决

java - 验证父级的特定抽象构造函数是否被调用

java - 如何调试 App Engine 生产环境中的执行暂停?

java - 如何在 Java 中获取方法的所有可能调用者 - 如调用层次结构

java - Java中的静态字符串路径

c# - 从静态类中选择一个随机静态变量