为什么我对一个衍生的阶层进行基类检查?
例如,如果我有一个B类,延伸C类,那么我为什么不能这样做?
B b=(B)(new C());
还是这样?
C c=new C();
B b=(B)c;
让我更具体地谈谈我试图做些什么。 这里我要说的是:
public class Base(){
protected BaseNode n;
public void foo(BaseNode x){
n.foo(x);
}
}
public class BaseNode(){
public void foo(BaseNode x){...}
}
我现在想设立一套新的班级,扩大基地和基地,如:
public class Derived extends Base(){
public void bar(DerivedNode x){
n.bar(x);//problem is here - n doesn t have bar
}
}
public class DerivedNode extends BaseNode(){
public void bar(BaseNode){
...
}
}
因此,我基本上想增加基地和诺德基地的新功能,既扩大功能,又增加功能。 此外,基地和基地应能够自行使用。
如果可能,我真的愿意这样做。
因此,我最后把它 out倒,部分原因是马鲁冰·佩里的回答。
www.un.org/spanish/ga/president 我必须做的是,在建筑商的衍生物类别中,将n
作为衍生出的