如何使用反射从静态方法获取类名
我正在寻找一种获取调用静态方法的类的类名的方法。
例如:
public class MySuperClass{
public static String getClassName(){
//some trick here...
}
}
知道
public class MyInheritingClass extends MySuperClass{
//some interesting code here...
public static void main(String [ ] args){
System.out.println(MyInheritingClass.getClassName());
//this should output "MyInheritingClass" and NOT "MySuperClass"
}
}
如何解决吗? 谢谢
i'm looking for a way of getting the class name of the class a static method is invoked on.
eg:
public class MySuperClass{
public static String getClassName(){
//some trick here...
}
}
and
public class MyInheritingClass extends MySuperClass{
//some interesting code here...
public static void main(String [ ] args){
System.out.println(MyInheritingClass.getClassName());
//this should output "MyInheritingClass" and NOT "MySuperClass"
}
}
Any idea of how to work it out?
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是一种非常具有误导性的调用静态方法的方式。这应该是非法的。静态方法不是虚拟的。绝对没有可能的方法来做你想做的事。
This a very misleading way of invoking a static method. It should be illegal. Static methods are not virtual. There is absolutely no possible way to do what you're trying to do.
那么为什么不只是:
?
Then why not just:
?
试试这个:
Try this:
试试这个
try this