interface infAircraft 
{
public void takeoff();
public void  fly(); 
public void landfall();
}abstract class absAircraft 
{
 double L,W,H,weight,speed,volume;
 public double vol()
{
 volume = L*W*H;
 return 0.0;
};                                  ????????????????????????? public abstract void voice();
}class airplane extends absAircraft implements infAircraft
{
airplane( double L1,double W1, double H1)
{
L=L1;
W=W1;
H=H1;
} double weight=300;
double speed=300;

public void voice()
{
System.out.println("飞机发出飞机的叫声");
} public void takeoff()
{
System.out.println("airplane can takeoff!");
}
public void fly()
{
System.out.println("airplane can fly!"); 
}
public void landfall()
{
System.out.println("airplane can landfall!");
}
} public class oopDemo 
{
public static void main(String[] args)
{
airplane a = new airplane(1,2,3);
a.vol();
a.fly();
a.takeoff();
              a.voice();
              a.landfall();
}
}别看程序长  就问一个小问题 就是我打问号的那一排  为啥在方法后面加分号也不显示错误的?

解决方案 »

  1.   

      分号的作用就是 分割每一条语句  如果分号前面 什么都没有 就像当时空语句  
      jvm 解析的时候  如果是空语句 自己会优化的~ 所以没有的问题~
      

  2.   

    什么空语句啊,类里面能直接写语句吗!
    和方法也没关系,因为你在后面再加几个分号也一样不报错。我觉得这就是编译器有意为之的,这种对编译结果没有影响的东西,编译器就直接忽略掉了。
    如果它不忽略报错也是可以的,也许其他的Java编译器有些就会报错也说不定呢