|
|
1
1
不幸的是,Java并没有给你一个很好的方法来做到这一点。你只要参考一下
对于日志记录,我通过读取堆栈解决了这个问题(解决方案的思想来自log5j),因为每次为每个日志记录者重述类都会非常烦人。幸运的是,现代的ide使重构变得相对轻松,因此,如果必须更改类的名称,重构就不会真正受到负面影响。 编辑:部分代码:
在本例中,mylogger是存在此方法的类。它在stacktrace中找到自己,并在前面执行一个操作,然后从stacktraceelement中提取类。 stackTraceElement[]数组可以由new exception().getStackTrace()或thread.currentThread().getStackTrace()检索;按照编写此方法的方式,它假定stackTrace是在调用MyLogger的第一个方法时创建的。 |
|
2
2
使用
如果你需要这样的东西:
并期待
|
|
|
3
0
只使用
|
|
|
4
0
在处理静态方法时,可以将它们视为库,其中类名成为库名称。通过指定库(类)名称,告诉编译器要运行哪个bar()方法。
方法本身没有父类和实例,因此,它不能使用反射来知道它是哪个类的一部分。但是,可以添加反射方法。 您可以将静态方法添加到类中,该类回答它属于哪个类:
注意,我将self()方法设为私有,因为在类之外,它没有任何意义。 这是因为self()方法在类内部和静态方法内部都是可见的。
相反,php有一个
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 11 月前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 11 月前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 11 月前 |
|
pebble unit · 如何检查以前缀开头、以后缀结尾的属性(不是属性值) 11 月前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |