当通过接口的方式无法完成我们的目标的时候,我们可以考虑用java的反射机制来实现一个类要调用两个不同的类的相同的方法,如静态方法。[@more@]
public class Parent1 {
public static String getStr(){
return "this parent1";
}
}
public class Parent2 {
public static String getStr(){
return "this parent2";
}
}
类一和类二都有两个相同的静态方法 getStr,下面的类通过反射机制可以调用两个类中的方法。
public class Child {
public Child(){
try {
Method me = Class.forName("Parent2").getMethod("getStr",null);
String str = (String)me.invoke(Class.forName("Parent2"),null);
System.out.println(str);
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
public static void main(String[] args){
Child child = new Child();
}
}