其实通过反射的
getDeclaredMethod
来就很简单,示例:
parent 父类 B:
/**
* @author Dongguabai
* @description
* @date 2021-02-03 22:31
*/
public class B {
protected String get(){
return "";
}
}
子类 A 没有重写
get
方法:
package com.example.demo.hystrix.framework;
/**
* @author Dongguabai
* @description
* @date 2021-02-03 22:31
*/
public class A extends B{
}
子类 C 重写了
get
方法:
package com.example.demo.hystrix.framework;
/**
* @author Dongguabai
* @description
* @date 2021-02-04 12:46
*/
public class C extends B{
@Override
public String get() {
return super.get();
}
}
测试:
package com.example.demo.hystrix.framework;
import java.lang.reflect.Method;
/**
* @author Dongguabai
* @description
* @date 2021-02-04 12:45
*/
public class Main {
public static void main(String[] args) {
A a = new A();
Method aMethod = null;
try {
aMethod = a.getClass().getDeclaredMethod("get", null);
} catch (NoSuchMethodException e) {
System.out.println("a....error result:");
e.printStackTrace();
}
System.out.println("a....result:" + aMethod);
C c = new C();
Method cMethod = null;
try {
cMethod = c.getClass().getDeclaredMethod("get", null);
} catch (NoSuchMethodException e) {
System.out.println("c....error result:" + e.getLocalizedMessage());
}
System.out.println("c....result:" + cMethod);
}
}
输出:
a....error result:
java.lang.NoSuchMethodException: com.example.demo.hystrix.framework.A.get()
at java.lang.Class.getDeclaredMethod(Class.java:2130)
at com.example.demo.hystrix.framework.Main.main(Main.java:16)
a....result:null
c....result:public java.lang.String com.example.demo.hystrix.framework.C.get()
也就是说我们可以根据
getDeclaredMethod
去判断一个类是否重写了父类的某个方法。
上一篇:
skywalking.oap.server.library.module.ProviderNotFoundException: storage module no provider exists.
下一篇:
每天学习一点点之 Hystrix 之 Request Cache
jquery 转换字符串带引号 jquery字符串转int
在js中,如何把字符串类型转换成int类型,大部分人都知道,直接parseInt(""); 但是对于08,09这两个日期,通过parseInt("")之后确是0 所以需要1、 var temp="08";
var s=parseInt(temp,10); // 转换成十进制
alert(s);相信大家能看的明白。2、var temp="08";
var s=par