展开全部
你程序写错了,跟你的原意有些不一样。
你在写父类的eat()方法时,抛出异常时候多了“{}”,java会认为你写的eat()的方法体是空的。而后面的为{System.out.println("yichang1");},显然这是一个块,而java运行的先后顺序是方法块在构造方法和其他方法之前,所以会出现错觉的调用子类方法,结果父类方法也跟着调用了!!
正确的父类代码是:
public void eat() throws Exception{
System.out.println("yichang1");
}
你在写父类的eat()方法时,抛出异常时候多了“{}”,java会认为你写的eat()的方法体是空的。而后面的为{System.out.println("yichang1");},显然这是一个块,而java运行的先后顺序是方法块在构造方法和其他方法之前,所以会出现错觉的调用子类方法,结果父类方法也跟着调用了!!
正确的父类代码是:
public void eat() throws Exception{
System.out.println("yichang1");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询