今天,遇到一个问题,我写的job类,用定时器定时启动。然后还有一个controller需要调用它。我在方法处添加了一个参数,controller调用正常,然后定时器就不行了。这就很尴尬了。然后问了下公司的人,他们告诉我,可以用重写。我就去看了下。
java 的重写是oop中的多态的体现。具体就是方法名可以相同,可以根据不同参数调用不同方法。
下面是代码。
package test.testOverloading;
public class HandleWeightInfo{
public static final String WEEK_OF_CYCLE = “W”;
//定时器调用
public void hanleData(){
handleData(System.currentTimeMillis());
}
//controller调用
public void handleData(startTime){
handleData(startTime,WEEK_OF_CYCLE)
}
//最终逻辑处理
public void handleData(startTime,cycle){
//逻辑处理
}
}
这样就解决问题了,之前方法名是不可以命名重复的。java却可以~真是语言不同啊。