【问题标题】:Calling an overloaded method调用重载方法
【发布时间】:2014-10-31 00:07:47
【问题描述】:

如何让一个重载的方法做同样的事情加上它们的新功能? 无需再次复制相同的代码。

类似这样的:

void method(){

//code 1
}

void method(String s){

//code 1
//code 2
}

【问题讨论】:

  • 将通用代码重构为私有方法?
  • I cannot find any example of this for this specific case. 这是重载的全部意义

标签: java overloading


【解决方案1】:

尝试将公共代码重构为私有方法:

void method(){

  common();
}

void method(String s){

  common();
//code 2
}

private void common() {
   // code 1
}

【讨论】:

    【解决方案2】:

    在主类中:

    public void foo() {
        System.out.println("main method");
    }
    

    在扩展类中:

    public void foo(String s) {
        foo();
        System.out.println(s + "from overloading method");
    }
    

    【讨论】:

      【解决方案3】:
      void method(){
      
      //code 1
      }
      
      void method(String s){
      
      method();
      //code 2
      }
      

      【讨论】:

      • 请用描述/解释扩展您的答案。非常不鼓励仅使用代码的答案,而且不是很有帮助。
      猜你喜欢
      • 2010-09-30
      • 2022-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多