你程序写错了,跟你的原意有些不一样。
你在写父类的eat()方法时,抛出异常时候多了“{}”,java会认为你写的eat()的方法体是空的。而后面的为{System.out.println("yichang1");},显然这是一个块,而java运行的先后顺序是方法块在构造方法和其他方法之前,所以会出现错觉的调用子类方法,结果父类方法也跟着调用了!!
正确的父类代码是:
public void eat() throws Exception{
System.out.println("yichang1");
}
第三行把throws Exception 后面的{}去掉就可以了,我试过了
楼上正解
鬼知道。。。。