haies
Haies
2015-11-19 01:49
采纳率: 50%
浏览 6.3k
已采纳

java怎样获取函数调用者的方法名?

如下面代码

 class A{
     private void  method(){
            //这里怎样获取调用者的名称呢?
     }

     private void method1(){
                    method();
     }

     private void method2(){
                method();
     }

 }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • argel_lj
    初秋的土豆 2015-11-19 03:06
    已采纳
    点赞 评论
  • wanghang1208
    wanghang1208 2015-11-19 02:14

    我不知道怎么直接获取到,如果为method()添加一个参数表示调用方法的名称,由调用者传入自己的名称,不知道是否满足你的要求。

    class B {
        private void method(String invokeName) {
        }
    
        private void method1() {
            method("method1");
        }
    
        private void method2() {
            method("method2");
        }
    }
    
    点赞 评论
  • haies
    Haies 2015-12-02 01:27

    采纳的答案很对,现在给大家一个懒人代码

        //获取调取函数所在类名称
        public static String getLastClassName(){
            String name=Thread.currentThread().getStackTrace()[3].getClassName();
            return name;
        }
    
    点赞 评论

相关推荐