日期:2014-05-20  浏览次数:20719 次

大家帮我看看这个关于java继承的问题
为什么我下面的代码在myeclipse中只有基类的输出 继承类的输出都没有

class cleaner {
public String s="c1";
public void y1(String a) {s += a;}
public void y2() {y1("y2()");}
public void y3() {y1("y3()");}
public void y4() {y1("y4()");}
public String toString() {return s;}
public static void main(String[] args){
cleaner x=new cleaner();
x.y2();x.y3();x.y4();
System.out.println(x);
}

}

public class jave extends cleaner{
public String m="jave";
public void y4(){
y1("jave.y4()");
super.y4();
}
public void foam() {y1("foam()");}
public static void main(String[] args){
jave y=new jave();
y.y2();
y.y3();
y.y4();
y.foam();
System.out.println(y);
System.out.println("testing");
cleaner.main(args);


}
}

------解决方案--------------------
你所有的打印都是调用的y1,而y1只有在父类中才有,所以肯定就会调用父类当中的y1咯。