eclipse是否有可以从Merged
和A
创建B
的工具?
public class A {
int a;
public int getA(){
return A;
}
}
public class B extends A {
int b;
public int getB(){
return b;
}
}
public class Merged {
int a;
int b;
public int getA(){
return A;
}
public int getB(){
return b;
}
}
答案 0 :(得分:6)
我不这么认为。这不是那么简单的任务。你的例子很简单,但请考虑一下:
class A {
private int a;
public void foo(){
System.out.println(a);
}
}
class AA extends A {
private int a; //its not the same 'a'!!
public void foo(){ //ok, we override, so we can 'overwrite', but...
super.foo(); //... what with this?
System.out.println(a);
}
}
正如您所看到的,它难以实现自动化。如果这个层次结构中的某个类扩展了一些lib类,那么你没有源代码呢? 因此,合并很难,而且非常糟糕,这就是为什么我认为没有人写过这样的工具。